DBMS > Dragonfly vs. PouchDB vs. searchxml vs. SurrealDB
System Properties Comparison Dragonfly vs. PouchDB vs. searchxml vs. SurrealDB
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Dragonfly Xexclude from comparison | PouchDB Xexclude from comparison | searchxml Xexclude from comparison | SurrealDB Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A drop-in Redis replacement that scales vertically to support millions of operations per second and terabyte sized workloads, all on a single instance | JavaScript DBMS with an API inspired by CouchDB | DBMS for structured and unstructured content wrapped with an application server | A fully ACID transactional, developer-friendly, multi-model DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Document store | Native XML DBMS Search engine | Document store Graph DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/dragonflydb/dragonfly www.dragonflydb.io | pouchdb.com | www.searchxml.net/category/products | surrealdb.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | www.dragonflydb.io/docs | pouchdb.com/guides | www.searchxml.net/support/handouts | surrealdb.com/docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | DragonflyDB team and community contributors | Apache Software Foundation | informationpartners gmbh | SurrealDB Ltd | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2023 | 2012 | 2015 | 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0, March 2023 | 7.1.1, June 2019 | 1.0 | v1.5.0, May 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source BSL 1.1 | Open Source | commercial | Open Source | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C++ | JavaScript | C++ | Rust | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | server-less, requires a JavaScript environment (browser, Node.js) | Windows | Linux macOS Windows | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | scheme-free | schema-free | schema-free | schema-free | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | strings, hashes, lists, sets, sorted sets, bit arrays | no | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes via views | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | SQL-like query language | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Proprietary protocol RESP - REdis Serialization Protocol | HTTP REST only for PouchDB Server JavaScript API | RESTful HTTP API WebDAV XQuery XSLT | GraphQL RESTful HTTP API WebSocket | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Clojure D Dart Elixir Erlang Go Haskell Java JavaScript (Node.js) Lisp Lua Objective-C Perl PHP Python R Ruby Rust Scala Swift Tcl | JavaScript | C++ most other programming languages supported via APIs | Deno Go JavaScript (Node.js) Rust | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Lua | View functions in JavaScript | yes on the application server | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | publish/subscribe channels provide some trigger functionality | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding with a proxy-based framework, named couchdb-lounge | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | yes sychronisation to multiple collections | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency | Eventual Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Atomic execution of command blocks and scripts | no | multiple readers, single writer | ACID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes, strict serializability by the server | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes by using IndexedDB, WebSQL or LevelDB as backend | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Password-based authentication | no | Domain, group and role-based access control at the document level and for application services | yes, based on authentication and database rules | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and servicesWe invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dragonfly | PouchDB | searchxml | SurrealDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | DragonflyDB Announces $21m in New Funding and General Availability DragonflyDB reels in $21M for its speedy in-memory database DragonflyDB Raises $21M in Funding Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store Intel Linux Kernel Optimizations Show Huge Benefit For High Core Count Servers provided by Google News | Building an Offline First App with PouchDB — SitePoint Create Offline Web Apps Using Service Workers & PouchDB — SitePoint Getting Started with PouchDB Client-Side JavaScript Database — SitePoint 3 Reasons To Think Offline First Offline-first web and mobile apps: Top frameworks and components provided by Google News | SD Times Open-Source Project of the Week: SurrealDB Meet Tobie Morgan Hitchcock, CEO & Co-Founder Of SurrealDB Cloud, privacy and AI: Trends defining the future of data and databases SurrealDB raises $6M for its database-as-a-service offering Introducing SurrealDB: A Quantum Leap in Database Technology provided by Google News |
Share this page