Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readying for production use #29

Open
danielsz opened this issue Jan 13, 2017 · 1 comment
Open

Readying for production use #29

danielsz opened this issue Jan 13, 2017 · 1 comment

Comments

@danielsz
Copy link

I watched the Strange Loop talk and played around with the Outboard API over the weekend. I am very impressed with the work being done here. Being able to treat the database as a persistent data-structure just as any other built-in Clojure data-structure brings a lot of benefits to the table. Even more compelling than the performance benefits are, for me at least, the advances in semantics. It makes writing production applications more simple. By eliminating the need for database interfaces, ORMs, query DSLs, ad-hoc synchronization mechanisms, all still commonplace in real-world Clojure, a lot of complexity is effectively reduced. In other words, there is great value here.

I would like to test this library in real-world applications as soon as possible, and help others do the same. I am planning to write a component for it for inclusion in the system library.

I have two immediate concerns that you might be able to address.

  • Make all operations safe. API calls will be made in threads, typical of web applications, so race conditions should be excluded. Here, for example.
  • Package the library and make it accessible on Clojars so that we can incorporate it in our build tools.

Again, I view the work done here as a fundamental piece completing the programming model promised by Clojure with regards to the functional paradigm. I see many reasons to prefer this project over Datomic, especially for small production applications. The API is brilliant and joyful to use. I would be thrilled to witness its usage spread out.

Thank you so much indeed.

@dgrnbrg
Copy link
Collaborator

dgrnbrg commented Jan 19, 2017

The API is actually safe, within the construct of the JVM. The mechanism that Outboard uses to ensure that only 1 database is made by each name is valuable since it ensures that users can't accidentally clobber their data by running the side-effectful database creation function. This is the same sort of mechanism Datomic uses: an idempotent connect function.

I would certainly be excited to package the library, but I'm not sure that I'll have time over the next couple of weeks. I'll begin to gather together some of the issues that need to be resolved before release, though.

Thank you for your feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants