Comments (2)
Currently there is an RWLock on SQLite connection in Cozo. There are various reasons, one of which is that we only open a single conneciton to the SQLite database (opening multiple connections to the same database will start failing after a pretty low number, I think 1024). The current design with the lock in place serializes writes regardless of WAL-mode support, but in exchange can handle much more read concurrencies and read throughput, which is the main focus of the SQLite engine (single write, multiple readers).
And with SQLite WAL enabled, the data files are no longer single files. In this case why not just use the RocksDB engine?
from cozo.
I can't speak to whether to use RocksDB (although the lower resource use, say in a mobile app, would I think still favour SQLite).
If I contemplate what a regular website with thousands of concurrent connections, are those all running through a single process? Can I use multiple separate Cozo processes sharing a data store?
I've been meaning to ask more about concurrency, actually.
from cozo.
Related Issues (20)
- Feature request: Add FoundationDB backend HOT 3
- Future plans and sponsorship? HOT 5
- Feature request: Add support for cloudflare d1 (serverless sqlite) HOT 3
- `export_relations` call signature for web wasm runtime
- Destroying a DbInstance HOT 2
- ls it possible to move data between graphs and relations HOT 1
- Build fails on Linux. HOT 1
- Build fails on Linux. HOT 3
- Implement IntoIterator for NamedRows
- borrowed data escapes outside of method HOT 3
- Any plans to support query pagination
- Bug in OR function HOT 1
- tuple comparison HOT 1
- any plans to support persistence for Browser like leveldb HOT 3
- Rocks DB errors on node wrapper HOT 1
- Possible bug in `:rm` operation HOT 3
- Cozo server says it's binding to port 9070 but actually binds to port 3000 HOT 2
- Cannot include escaped doublequote character in string HOT 8
- Feature request: be able to build queries directly in rust, bypassing the script parser HOT 2
- What is the params argument for in the C library? HOT 1
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 cozo.