DBMS > Derby vs. Solr vs. Sphinx vs. Tkrzw
System Properties Comparison Derby vs. Solr vs. Sphinx vs. Tkrzw
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB Xexclude from comparison | Solr Xexclude from comparison | Sphinx Xexclude from comparison | Tkrzw Successor of Tokyo Cabinet and Kyoto Cabinet Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | A widely used distributed, scalable search engine based on Apache Lucene | Open source search engine for searching in data from different sources, e.g. relational databases | A concept of libraries, allowing an application program to store and query key-value pairs in a file. Successor of Tokyo Cabinet and Kyoto Cabinet | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Search engine | Search engine | Key-value store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | db.apache.org/derby | solr.apache.org | sphinxsearch.com | dbmx.net/tkrzw | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | db.apache.org/derby/manuals/index.html | solr.apache.org/resources.html | sphinxsearch.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Apache Software Foundation | Sphinx Technologies Inc. | Mikio Hirabayashi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1997 | 2006 | 2001 | 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 10.17.1.0, November 2023 | 9.6.1, May 2024 | 3.5.1, February 2023 | 0.9.3, August 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source Apache Version 2 | Open Source GPL version 2, commercial licence available | Open Source Apache Version 2.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Java | Java | C++ | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | All OS with a Java VM runs as a servlet in servlet container (e.g. Tomcat, Jetty is included) | FreeBSD Linux NetBSD OS X Solaris Windows | Linux macOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes Dynamic Fields enables on-the-fly addition of new fields | yes | schema-free | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes supports customizable data types and automatic typing | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes All search fields are automatically indexed | yes full-text index on all search fields | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | Solr Parallel SQL Interface | SQL-like query language (SphinxQL) | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC | Java API RESTful HTTP/JSON API | Proprietary protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | .Net Erlang Java JavaScript any language that supports sockets and either XML or JSON Perl PHP Python Ruby Scala | C++ unofficial client library Java Perl unofficial client library PHP Python Ruby unofficial client library | C++ Java Python Ruby | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Java Stored Procedures | Java plugins | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes User configurable commands triggered on index changes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | Sharding Partitioning is done manually, search queries against distributed index is supported | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | yes | none | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | spark-solr: github.com/lucidworks/spark-solr and streaming expressions to reduce | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | optimistic locking | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes The original contents of fields are not stored in the Sphinx index. | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes using specific database classes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | Solr | Sphinx | Tkrzw Successor of Tokyo Cabinet and Kyoto Cabinet | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Elasticsearch replaced Solr as the most popular search engine Enterprise Search Engines almost double their popularity in the last 12 months The DB-Engines ranking includes now search engines | The DB-Engines ranking includes now search engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | JDBC tutorial: Easy installation and setup with Apache Derby Installing Apache Hive 3.1.2 on Windows 10 | by Hadi Fadlallah The Arrival of Java 20 The Apache® Software Foundation Announces 18 Years of Open Source Leadership No, Citrix did not kill CloudStack provided by Google News | SOLR-led walkout demands better conditions for Compass workers Solr Network Launches Groundbreaking Solana Token Creator (SOLR) Proactive Strategies Have Insiders Been Buying Solar Alliance Energy Inc. (CVE:SOLR) Shares? SOLR hosts teach-in of labor movements at Northwestern provided by Google News | Switching From Sphinx to MkDocs Documentation — What Did I Gain and Lose Manticore is a Faster Alternative to Elasticsearch in C++ Royal Mail at risk of being broken up after £3.6bn foreign takeover Perplexity AI: From Its Use To Operation, Everything You Need To Know About Google's Newest Challenger The Pirate Bay was recently down for over a week due to a DDoS attack provided by Google News |
Share this page