Comments (9)
I have my own benchmark https://github.com/tekartik/sembast.dart/blob/master/sembast/doc/perf_io.md which are not really relevant, mainly to make sure any changes won't affect it.
Otherwise it depends on the usage. Big databases will increase initial load time and complex queries could impact reading but I don't have strong numbers yet. But yes since it is in memory it should be fast enough for regular usage in flutter even with 10K+ records.
from sembast.dart.
Thanks for the express reply. I am anticipating data in the 100,000 to million. Do you suspect a perf issue?
from sembast.dart.
Ouch. The issue with million is the size here as it might not fit in memory. Here sqlite would be a better fit especially since you can select fields when reading.
from sembast.dart.
I see
I have my own benchmark https://github.com/tekartik/sembast.dart/blob/master/doc/perf_io.md which are not really relevant, mainly to make sure any changes won't affect it.
Otherwise it depends on the usage. Big databases will increase initial load time and complex queries could impact reading but I don't have strong numbers yet. But yes since it is in memory it should be fast enough for regular usage in flutter even with 10K+ records.
Link is broken :-)
https://github.com/tekartik/sembast.dart/blob/master/sembast/doc/perf_io.md
from sembast.dart.
Thanks for rectifying! like you said the proper link is https://github.com/tekartik/sembast.dart/blob/master/sembast/doc/perf_io.md
from sembast.dart.
@alextekartik are those put or read ?
from sembast.dart.
It is put
performance. However these numbers are not really useful since writes happen lazily. I'm open to suggestion or PR on some actual performance metrics. Everything is memory but some algorythm could be improved.
from sembast.dart.
Do you plan to allow users to choose between loading the full database in memory or keeping it in disk?
Currently you're the only flutter nosql solution, production ready, but the fact that it's loading the full database in memory seems bad for mobile.
from sembast.dart.
Unfortunately that is not the current design. I agree that loading in memory is pretty bad (I even found that very stupid initially). I personnally use sqflite on mobile for big databases. Although everybody hates sql, it remains the best solution.
I started sembast initially just to have a small pure dart database system I could use for desktop testing and for mocking other databases (indexed_db). flutter was not a target.
Alternative solution would be to wrap other no sql native solutions (realm, leveldb, couch) but I don't have any need/project/time for it but would be happy to work on other solutions.
from sembast.dart.
Related Issues (20)
- Serialising object works fine, deserialising fails HOT 2
- How do I chain/make compound filters? HOT 3
- Issue using Sembast in Background Notification - Android HOT 6
- Deleted row in the .db file HOT 7
- Using sync to fetch data HOT 3
- Any database viewer is available to view the sembast db file HOT 1
- Export JsonEncodableCodec type HOT 4
- Copy db file on flutter web for upload / backup HOT 2
- Need a way to reload the database / detect that it was changed by an external process. HOT 4
- Error in mobile web browser HOT 2
- Sembast web limitation HOT 2
- how to rename a store? HOT 2
- Pagination not working HOT 2
- Store record with custom key HOT 1
- Ambiguity around null record value HOT 3
- null check on null value HOT 4
- Problem: record is updated even merged is false HOT 5
- Reload data from database HOT 3
- OutOfMemoryError: Out of Memory HOT 10
- Can not filter by timestamp. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sembast.dart.