Fork me on GitHub
#datomic
<
2016-11-28
>
robert-stuttaford15:11:22

suddenly a lot of old information riding around in my head 🙂

robert-stuttaford15:11:30

this is hugely exciting, @marshall !

karol.adamiec15:11:03

yay. Client API 👍 . Please add javascript soon 😄

robert-stuttaford15:11:29

@marshall the post mentions the client library is open source. on github? or is that coming soon?

robert-stuttaford15:11:52

… java release shortly. nm!

marshall15:11:06

Currently the source for the clients is provided via source jar. The clients are currently in alpha, but we are working to move the APIs to their final state and provide the additional documentation, tooling, etc. required to build/fork/modify them. We wanted to get clients into our customer's hands and start getting feedback as soon as possible.

marshall15:11:28

The source jars are in maven central

robert-stuttaford15:11:19

ok, great. i’ll have a look soon

robert-stuttaford15:11:44

@marshall, i haven’t read the comparison doc, yet, but will clients support a permissions model akin to sql GRANT USER READ?

robert-stuttaford15:11:07

one thing that’s worried me about peers is the ease with which d/delete-database can be invoked at a repl

marshall15:11:53

There will be some controls around those sorts of administrative capabilities. As of now, clients can’t create or delete databases

robert-stuttaford15:11:32

ok. that’s great. i can immediately see some of our apps dropping to pure client

robert-stuttaford15:11:23

what’s the wire protocol for clients? also tcp + fressian things?

robert-stuttaford15:11:42

looks like it, if it also has the cache!

robert-stuttaford15:11:07

wow. this is fantastic. great work!

robert-stuttaford15:11:39

clients give you a way to work with many large databases by working with multiple peer servers

robert-stuttaford15:11:08

i was wondering how one would work with multiple 10bn-datom dbs in a single app, looks like Clients gives us one way

robert-stuttaford15:11:29

thinking far into the future now

marshall15:11:35

certainly the hope is that these additions will enable more architectural flexibility

robert-stuttaford15:11:05

are non JVM clients planned?

robert-stuttaford15:11:07

like, say, JavaScript? :-)))

robert-stuttaford15:11:16

of course, permissions model vital for this, which may mean lots of work still to do. i don’t see anything in the comparison that excludes javascript

marshall15:11:36

it is absolutely something we want to support

marshall15:11:42

timeline TBD

robert-stuttaford15:11:36

i think it’s a great testament to Datomic’s design that so little of the model had to change to support Clients. i totally get the tempid variant

robert-stuttaford15:11:40

excellent 🙂

ckarlsen15:11:47

am I dreaming?

robert-stuttaford15:11:09

very lucidly 🙂

ckarlsen15:11:48

best christmas present ever 🙂

curtosis15:11:52

excellent news!

curtosis15:11:22

hmm… have to think about how the new Starter license terms change things. I think they make sense, but it’s a model I don’t think I’ve seen before.

ljosa15:11:53

the starter terms seem great for evaluating, for smuggling a system into production so it can prove its worth before buying a license, or for startups.

curtosis16:11:05

though it does break the “build a small cheap app to run on DynamoDB and leave it alone” model.

val_waeselynck16:11:02

@ljosa I can relate to that 🙂

ljosa16:11:09

We started with the old "two free peers" starter license, but that was too limiting even before it was in production. Then we bought 22 licenses, thinking that we would have a bunch of peers. As it turns out, we have fewer than 10 peers, for it was more convenient to write a server that answers queries (datomic or ADI) on behalf of most of our clients. Even for clients that are not microservices, it was good to avoid the cold object cache at startup.

curtosis16:11:49

my model for this particular kind of app is really just a single peer - more like embedded, but with non-filesystem storage (either Dynamo or Postgresql). It’s a bit of a weird use case, perhaps, but there’s something to be said for using the existing storage backup mechanisms rather than managing file-based backups.

curtosis16:11:29

But that’s maybe just pushing complexity around without really making any real difference.

Drew Verlee16:11:45

If i just want to play with Datomic for learning purposes, whats the best route? Datomic Starter from http://www.datomic.com/get-datomic.html?

Alex Miller (Clojure team)16:11:54

yes, you can do everything you need to with that with no initial cost

dm316:11:32

quite a significant release there! Does anyone know how to interpret the "Maintenance/Updates Limited to 1 Year" under the new Datomic Starter licence terms? Does this mean that if you get the licence for 0.9.5530 now and when another version is released after 1+ years you need to get a new (paid?) licence?

luposlip16:11:07

Hi @alexmiller, I have a license on Starter that expired the 11th of November. The transactor and peer I use is version 0.9.5344. Can that be upgraded?

Alex Miller (Clojure team)16:11:39

I’m not the right person to answer that - check with @marshall or email <mailto:[email protected]|[email protected]>

luposlip16:11:54

Alright - @marshall, I have a license on Starter that expired the 11th of November. The transactor and peer I use is version 0.9.5344. Can that be upgraded?

Alex Miller (Clojure team)16:11:07

@dm3 I defer to someone from the Datomic team for anything official. but my understanding is that after 1 year, you can continue using the versions you have with your license (that’s the “perpetual” part) but that if you want to upgrade past that point, you have to acquire a paid license.

marshall17:11:12

Alex’s interpretation is correct

bhagany17:11:28

whatttttttttttttttttttttttttttttttttttttttttttttttttttttttttt this is amazing

marshall17:11:37

The renewal only covers the ability to use newer versions of the software.

marshall17:11:49

Starter was always intended as a path for customers to explore and use Datomic in a low-risk, low-cost approach as they developed their applications and moved toward production. We feel that a year is generally sufficient time to evaluate a product and develop a business application around that product. If you feel that you require a longer period to evaluate or develop against Datomic, please contact us.

marshall17:11:23

That includes if your Starter license maintenance has recently expired and you’d like to discuss the option to evaluate the latest release(s).

marshall17:11:36

You can always email me at <mailto:[email protected]|[email protected]>

bhagany17:11:36

my boss is so happy that we paid for a $3k license last week

bhagany17:11:42

(sorry, datomic team)

chadhs17:11:02

kind of a bummer that the free starter pro tier went away for small projects. i suppose the idea is the free tier can suffice for that and needs beyond that you should pay for.

Alex Miller (Clojure team)17:11:42

starter pro is still free

chadhs17:11:54

for one year only i thought?

Alex Miller (Clojure team)17:11:05

you can use it forever, just can’t keep upgrading after a year

chadhs17:11:44

right, i understand that alex thnx. it just seems like an odd limitation. i liked the idea of being able to upgrade / renew that so you had a way to mock a production setup easily. then if you were going to roll something out for “real” for yourself or a client you could by the appropriate licensing. Just my 2c

pesterhazy17:11:56

personally my experience has been that old datomic versions don't just stop working; I only update for new features/significant bug fixes

chadhs17:11:30

also, people that registered in the past when it was renewable won’t get to download the lastest version and play with things like memcache integation etc without creating a new account.

chadhs17:11:09

i mean all this as helpful critique. not at all “whining” about the idea of having to buy datomic; i think people should pay for it in production and not try to “get by” with starter pro personally.

jonas17:11:21

> With today’s release, we are making available the alpha version of the open source Client library for Clojure Is the source available somewhere?

chadhs17:11:24

happy to move this to mailing list as well to leave room for Qs

andyparsons17:11:39

@marshall piling on- this is all great news. One question: what is the definition of "system" for the new pro pricing? As in, "ongoing maintenance fees of $5,000 per year per system"

marshall17:11:58

Great question

marshall17:11:09

System is a production Transactor and it’s connected peers/clients

marshall17:11:32

so you can still run unlimited dev/staging/test instances

marshall17:11:50

but if you need 2 separate live production transactors, then that’s two licenses

marshall17:11:20

@jonas The source is provided as a source jar. it is in Maven Central

chadhs17:11:28

@marshall would a typical deployment then be ~$10k for primary and backup transactor?

marshall17:11:42

no, sorry, HA doesn’t count

marshall17:11:09

if you have a single transactor (+HA) + your peers/clients - that’s $5000 per year

jonas17:11:09

are you planning to push it to http://github.com/datomic?

chadhs17:11:17

so “system" is transactor, ha, and connected peers?

chadhs17:11:35

oh just saw your answer; thanks @marshall !

marshall17:11:16

@jonas The clients are currently in alpha, but we are working to move the APIs to their final state and provide the additional documentation, tooling, etc. required to build/fork/modify them. We wanted to get clients into our customer's hands and start getting feedback as soon as possible. We would also love to have feature requests/feedback/etc on clients (and on all parts of Datomic). We've recently set up a system with http://Receptive.io to gather customer feedback. You can access it from the top nav bar of your http://my.datomic.com dashboard via the "Suggest Features" link

andyparsons17:11:26

congrats @marshall and team, this is a big deal for us (and for my ability to recommend Datomic without reservation to other teams)

marshall17:11:48

@andyparsons Thanks! We’re really excited and glad you are too.

bbloom17:11:18

Glad to see the string-based tempids thing! I noted the comment about the underutilization of partitions. I’m curious: Does anybody actually make good use of partitions? What’s the impact of using them?

bbloom17:11:11

and then i guess the question is how are they automatic now? Just everything in one big default partition? Or dynamically partitioned somehow?

jonas17:11:19

@marshall I can’t see the “Suggested Features” link at http://my.datomic.com for some reason

marshall18:11:04

@jonas You need to have a license in the account. Do you have a Starter license on the account you’ve logged in with?

jonas18:11:27

Ok, I don’t have that yet

marshall18:11:41

Yep, the link will show up once you have a license in the account

timgilbert18:11:39

This is awesome, thanks guys. Definitely looking forward to more info about the tempid changes.

dpsutton18:11:36

there's a hacker news article about datomic right now if you're interested in reading the comments: https://news.ycombinator.com/item?id=13055961

wei19:11:25

just saw the article, thanks for the licensing change! am also a fan of tempid improvements

haywood19:11:37

wow, I just started a project with datomic and these changes are amazing!

ljosa20:11:39

One of our developers on the javascript/golang side just expressed dismay over the announcement that "with the introduction of client libraries, the REST server is no longer supported for new development." Why not keep supporting an HTTP API?

marshall20:11:53

The REST api will continue to ship with Datomic; our development focus will be on clients - including clients for other non-jvm languages

danielcompton22:11:50

I wrote a guide to the licensing changes, let me know if I've made any mistakes

sparkofreason22:11:02

Is anybody using Datomic with AWS Lambda? I had read somewhere that this wouldn't work, but seems like the new chunked query API makes it a nice fit for processing large query result sets.

Matt Butler23:11:27

Hi, Is there a max number of datums for a single transaction?