DBMS > 4D vs. CouchDB vs. dBASE vs. Spark SQL vs. SQLite
System Properties Comparison 4D vs. CouchDB vs. dBASE vs. Spark SQL vs. SQLite
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | 4D former name: 4th Dimension Xexclude from comparison | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | dBASE Xexclude from comparison | Spark SQL Xexclude from comparison | SQLite Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Application development environment with integrated database management system | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | dBase was one of the first databases with a development environment on PC's. Its latest version dBase V is still sold as dBase classic, which needs a DOS Emulation. The up-to-date product is dBase plus. | Spark SQL is a component on top of 'Spark Core' for structured data processing | Widely used embeddable, in-process RDBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Document store | Relational DBMS | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS using the Geocouch extension | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.4d.com | couchdb.apache.org | www.dbase.com | spark.apache.org/sql | www.sqlite.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | developer.4d.com | docs.couchdb.org/en/stable | www.dbase.com/support/knowledgebase | spark.apache.org/docs/latest/sql-programming-guide.html | www.sqlite.org/docs.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | 4D, Inc | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | Asthon Tate | Apache Software Foundation | Dwayne Richard Hipp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1984 | 2005 | 1979 | 2014 | 2000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | v20, April 2023 | 3.3.3, December 2023 | dBASE 2019, 2019 | 3.5.0 ( 2.13), September 2023 | 3.45.3 (15 April 2024), April 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source Apache version 2 | commercial | Open Source Apache 2.0 | Open Source Public Domain | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Erlang | Scala | C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | OS X Windows | Android BSD Linux OS X Solaris Windows | DOS dBase Classic Windows dBase Pro | Linux OS X Windows | server-less | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | yes | yes | yes dynamic column types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no | yes | yes | yes not rigid because of 'dynamic typing' concept. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes via views | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes close to SQL 92 | no | no | SQL-like DML and DDL statements | yes SQL-92 is not fully supported | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ODBC RESTful HTTP API by using 4D Mobile SOAP webservices | RESTful HTTP/JSON API | none The IDE can access other DBMS or ODBC-sources. | JDBC ODBC | ADO.NET inofficial driver JDBC inofficial driver ODBC inofficial driver | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | 4D proprietary IDE PHP | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | dBase proprietary IDE | Java Python R Scala | Actionscript Ada Basic C C# C++ D Delphi Forth Fortran Haskell Java JavaScript Lisp Lua MatLab Objective-C OCaml Perl PHP PL/SQL Python R Ruby Scala Scheme Smalltalk Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | View functions in JavaScript | no The IDE can access stored procedures in other database systems. | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding improved architecture with release 2.0 | none | yes, utilizing Spark Core | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication | Multi-source replication Source-replica replication | none | none | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no atomic operations within a single document possible | no not for dBase internal data, but IDE does support transactions when accessing external DBMS | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes strategy: optimistic locking | yes | yes | yes via file-system locks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Users and groups | Access rights for users can be defined per database | Access rights for users and roles | 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 services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Navicat for SQLite is a powerful and comprehensive SQLite GUI that provides a complete set of functions for database management and development. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4D former name: 4th Dimension | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | dBASE | Spark SQL | SQLite | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | MySQL, PostgreSQL and Redis are the winners of the March ranking | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | DB-Engines Ranking coverage expanded to 169 database management systems | Big gains for Relational Database Management Systems in DB-Engines Ranking How to install the CouchDB NoSQL database on Debian Server 11 IBM Cloudant pulls plan to fund new foundational layer for CouchDB CouchDB 3.0 puts safety first CouchDB 3.0 ends admin party era • DEVCLASS How to Connect Your Flask App With CouchDB: A NoSQL Database - MUO provided by Google News 30 Years Ago: The Rise, Fall and Survival of Ashton-Tate's dBASE Microsoft Access 2016 Now Supports dBase Database Format DBF File (What It Is and How to Open One) A malicious document could lead to RCE in Apache OpenOffice (CVE-2021-33035) Liam Brady's wife and their family life with three children provided by Google News Use Amazon Athena with Spark SQL for your open-source transactional table formats | Amazon Web Services What is Apache Spark? The big data platform that crushed Hadoop Cracking the Apache Spark Interview: 80+ Top Questions and Answers for 2024 Performant IPv4 Range Spark Joins | by Jean-Claude Cote Run Apache Hive workloads using Spark SQL with Amazon EMR on EKS | Amazon Web Services provided by Google News SQLite's new support for binary JSON is similar but different from a PostgreSQL feature • DEVCLASS Universal API Access from Postgres and SQLite Fully local retrieval-augmented generation, step by step A Closer Look at the Top 3 Embedded Databases: SQLite, RocksDB, and DuckDB Another Look At The Bcachefs Performance on Linux 6.7 Review provided by Google News |
Share this page