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

Queries and Collections #8

Open
nevf opened this issue Oct 4, 2018 · 2 comments
Open

Queries and Collections #8

nevf opened this issue Oct 4, 2018 · 2 comments

Comments

@nevf
Copy link

nevf commented Oct 4, 2018

TurtleDb tackles complex areas I'm very interested in and from reading the Medium article and docs the work so far looks impressive. My specific interest is adding full offline capabilities to Clibu (www.clibu.com) a knowledge base app I'm developing which has similarities to apps like Evernote.

Clibu uses MongoDb on the server and currently makes light use of Dexie.js in the Browser. I've spent considerable time researching Browser Dbs, offline use, sync, eventual consistency etc. and have played with various solutions including PoachDb which isn't a good fit.

If I'm correct Turtledb doesn't have any querying or indexing capabilities, nor support for Mongodb style collections. I couldn't see any mention of these in the Roadmap. Am I missing something, if not are these planned? These are essential for my use case and are fully supported by Dexie.js as are nested arrays of documents with indexes on same.

I am seriously evaluating another framework, however now that Turtledb has come along things may change.

@houstonfloyd
Copy link
Member

Hi nevf,

Thanks for your question. If I may ask, what about PouchDB made it not a good fit? We're similar in how we approach sync and eventual consistency.

turtleDB maintains an index on the document store for faster retrieval, but we currently don't support developer-defined indexes. Our querying is currently limited to simple CRUD, although we would like to eventually extend this to bulk read queries with filters provided by the developers. We also only have the one collection in MongoDB.

Given the above, I suggest you continue to work with Dexie.js. It sounds like their querying and indexing features have more of what you need.

@nevf
Copy link
Author

nevf commented Oct 8, 2018

@houstonfloyd Thanks for the reply. Pouchdb or more correctly Couchdb didn't support ad-hoc queries until a year or so back which is essential for Clibu. That's changed but I don't want to use Couchdb on the server. Also the ability to trim it's append only store is an issue amongst others.

Your Medium article discuses various app use cases and their requirements and says you've opted for supporting fairly complex apps, however I don't see thats feasible at present without user defined indexes, a full query capability and support for multiple collections.

I wonder why you didn't use Dexie.js for the Indexeddb layer which would have given you these capabilities.

The library I'm seriously evaluating is Logux which uses an append only log and gives you very good control over the log. Logux is not tied to any backend server, instead it has a server library you use to access whatever database you choose. Logux uses Websockets which is also a plus.

I've written Part 1of an article on Logux which I haven't published yet as I want to write Part 2 first and am away travelling in Japan at present. I am not the developer of Logux, just a very interested user. If you'd like a copy of the article let me know.

If you Google Logux you will find a few videos by the author Andrey and the Github repos. I'm at Osaka airport otherwise I'd include links.

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