DB-EnginesExtremeDB for everyone with an RTOSEnglish
Deutsch
Knowledge Base of Relational and NoSQL Database Management Systemsprovided by solid IT

DBMS > Apache IoTDB vs. Oracle Berkeley DB vs. PouchDB vs. SwayDB vs. XTDB

System Properties Comparison Apache IoTDB vs. Oracle Berkeley DB vs. PouchDB vs. SwayDB vs. XTDB

Editorial information provided by DB-Engines
NameApache IoTDB  Xexclude from comparisonOracle Berkeley DB  Xexclude from comparisonPouchDB  Xexclude from comparisonSwayDB  Xexclude from comparisonXTDB infoformerly named Crux  Xexclude from comparison
DescriptionAn IoT native database with high performance for data management and analysis, deployable on the edge and the cloud and integrated with Hadoop, Spark and FlinkWidely used in-process key-value storeJavaScript DBMS with an API inspired by CouchDBAn embeddable, non-blocking, type-safe key-value store for single or multiple disks and in-memory storageA general purpose database with bitemporal SQL and Datalog and graph queries
Primary database modelTime Series DBMSKey-value store infosupports sorted and unsorted key sets
Native XML DBMS infoin the Oracle Berkeley DB XML version
Document storeKey-value storeDocument store
DB-Engines Ranking infomeasures the popularity of database management systemsranking trend
Trend Chart
Score1.31
Rank#164  Overall
#14  Time Series DBMS
Score2.01
Rank#126  Overall
#21  Key-value stores
#3  Native XML DBMS
Score2.34
Rank#112  Overall
#21  Document stores
Score0.04
Rank#387  Overall
#61  Key-value stores
Score0.18
Rank#332  Overall
#46  Document stores
Websiteiotdb.apache.orgwww.oracle.com/­database/­technologies/­related/­berkeleydb.htmlpouchdb.comswaydb.simer.augithub.com/­xtdb/­xtdb
www.xtdb.com
Technical documentationiotdb.apache.org/­UserGuide/­Master/­QuickStart/­QuickStart.htmldocs.oracle.com/­cd/­E17076_05/­html/­index.htmlpouchdb.com/­guideswww.xtdb.com/­docs
DeveloperApache Software FoundationOracle infooriginally developed by Sleepycat, which was acquired by OracleApache Software FoundationSimer PlahaJuxt Ltd.
Initial release20181994201220182019
Current release1.1.0, April 202318.1.40, May 20207.1.1, June 20191.19, September 2021
License infoCommercial or Open SourceOpen Source infoApache Version 2.0Open Source infocommercial license availableOpen SourceOpen Source infoGNU Affero GPL V3.0Open Source infoMIT License
Cloud-based only infoOnly available as a cloud servicenonononono
DBaaS offerings (sponsored links) infoDatabase as a Service

Providers of DBaaS offerings, please contact us to be listed.
Implementation languageJavaC, Java, C++ (depending on the Berkeley DB edition)JavaScriptScalaClojure
Server operating systemsAll OS with a Java VM (>= 1.8)AIX
Android
FreeBSD
iOS
Linux
OS X
Solaris
VxWorks
Windows
server-less, requires a JavaScript environment (browser, Node.js)All OS with a Java 8 (and higher) VM
Linux
Data schemeyesschema-freeschema-freeschema-freeschema-free
Typing infopredefined data types such as float or dateyesnononoyes, extensible-data-notation format
XML support infoSome form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT.noyes infoonly with the Berkeley DB XML editionnonono
Secondary indexesyesyesyes infovia viewsnoyes
SQL infoSupport of SQLSQL-like query languageyes infoSQL interfaced based on SQLite is availablenonolimited SQL, making use of Apache Calcite
APIs and other access methodsJDBC
Native API
HTTP REST infoonly for PouchDB Server
JavaScript API
HTTP REST
JDBC
Supported programming languagesC
C#
C++
Go
Java
Python
Scala
.Net infoFigaro is a .Net framework assembly that extends Berkeley DB XML into an embeddable database engine for .NET
others infoThird-party libraries to manipulate Berkeley DB files are available for many languages
C
C#
C++
Java
JavaScript (Node.js) info3rd party binding
Perl
Python
Tcl
JavaScriptJava
Kotlin
Scala
Clojure
Java
Server-side scripts infoStored proceduresyesnoView functions in JavaScriptnono
Triggersyesyes infoonly for the SQL APIyesnono
Partitioning methods infoMethods for storing different data on different nodeshorizontal partitioning (by time range) + vertical partitioning (by deviceId)noneSharding infowith a proxy-based framework, named couchdb-loungenonenone
Replication methods infoMethods for redundantly storing data on multiple nodesselectable replication methods; using Raft/IoTConsensus algorithm to ensure strong/eventual data consistency among multiple replicasSource-replica replicationMulti-source replication infoalso with CouchDB databases
Source-replica replication infoalso with CouchDB databases
noneyes, each node contains all data
MapReduce infoOffers an API for user-defined Map/Reduce methodsIntegration with Hadoop and Sparknoyesnono
Consistency concepts infoMethods to ensure consistency in a distributed systemEventual Consistency
Strong Consistency with Raft
Eventual ConsistencyImmediate Consistency
Foreign keys infoReferential integritynonononono
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of datanoACIDnoAtomic execution of operationsACID
Concurrency infoSupport for concurrent manipulation of datayesyesyes
Durability infoSupport for making data persistentyesyesyes infoby using IndexedDB, WebSQL or LevelDB as backendyesyes, flexibel persistency by using storage technologies like Apache Kafka, RocksDB or LMDB
In-memory capabilities infoIs there an option to define some or all structures to be held in-memory only.yesyesyesyes
User concepts infoAccess controlyesnonono

More information provided by the system vendor

We invite representatives of system vendors to contact us for updating and extending the system information,
and for displaying vendor-provided information such as key customers, competitive advantages and market metrics.

Related products and services

We invite representatives of vendors of related products to contact us for presenting information about their offerings here.

More resources
Apache IoTDBOracle Berkeley DBPouchDBSwayDBXTDB infoformerly named Crux
DB-Engines blog posts

New kids on the block: database management systems implemented in JavaScript
1 December 2014, Matthias Gelbmann

show all

Recent citations in the news

TsFile: A Standard Format for IoT Time Series Data
27 February 2024, The New Stack

Linux 6.5 With AMD P-State EPP Default Brings Performance & Power Efficiency Benefits For Ryzen Servers
21 September 2023, Phoronix

AMD EPYC 8324P / 8324PN Siena 32-Core Siena Linux Server Performance Review
10 October 2023, Phoronix

Apache Promotes IoT Database Project
25 September 2020, Datanami

Timecho Raises Over US$10M in First Funding
29 June 2022, FinSMEs

provided by Google News

Margo Seltzer Named ACM Athena Lecturer for Technical and Mentoring Contributions
26 April 2023, HPCwire

ACM recognizes far-reaching technical achievements with special awards
26 May 2021, EurekAlert

Oracle buys Sleepycat Software
14 February 2006, MarketWatch

Database Trends Report: SQL Beats NoSQL, MySQL Most Popular -- ADTmag
5 March 2019, ADT Magazine

Margo I. Seltzer | Berkman Klein Center
18 August 2020, Berkman Klein Center

provided by Google News

Building an Offline First App with PouchDB — SitePoint
10 March 2014, SitePoint

Create Offline Web Apps Using Service Workers & PouchDB — SitePoint
7 March 2017, SitePoint

3 Reasons To Think Offline First
22 March 2017, ibm.com

Getting Started with PouchDB Client-Side JavaScript Database — SitePoint
7 September 2016, SitePoint

Offline-first web and mobile apps: Top frameworks and components
22 January 2019, TechBeacon

provided by Google News



Share this page

Featured Products

Datastax Astra logo

Bring all your data to Generative AI applications with vector search enabled by the most scalable
vector database available.
Try for Free

Milvus logo

Vector database designed for GenAI, fully equipped for enterprise implementation.
Try Managed Milvus for Free

Neo4j logo

See for yourself how a graph database can make your life easier.
Use Neo4j online for free.

Present your product here