When comparing SQLite vs Oracle Database, the Slant community recommends SQLite for most people. In the question“What are the best databases to use for Node.js applications?” SQLite is ranked 8th while Oracle Database is ranked 15th. The most important reason people chose SQLite is:
SQLite is also only 350KiB in size.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Small
SQLite is also only 350KiB in size.
Pro Great language support
SQLite has bindings for a large number of programming languages, including BASIC, Delphi, C, C#, C++, Clipper//Harbour, Common Lisp, Curl, D, Free Pascal, Haskell, Java, JavaScript, Livecode, Lua, newLisp, Objective-C (on OS X and iOS), OCaml, Perl, PHP, Pike, PureBasic, Python, R, REALbasic, REBOL, Ruby, Scheme, Smalltalk, Tcl, Visual Basic.
Pro Self-contained
SQLite is largely self-contained. It requires very minimal support from external libraries or from the operating system.
Pro Portable
An SQLite database is a single ordinary disk file that can be located anywhere in the directory hierarchy. It works by sending requests to a single file where all the data is kept instead of communicating with a hosted database which gives access to an interface by making use of sockets and ports. The file format used is also cross-platform, so can easily be migrated to various machines.
This makes SQLite extremely portable throughout different applications, all that's needed to transfer the whole database is to make a copy of the file.
Pro Great for testing and first stages of development
Because of it's ability to scale and with the portability that a single-file database gives you without losing much of the power and features that SQL gives developers, it's a great choice for testing applications and for the early stages of development when the workload and the data that needs to be stored is not that large.
Pro Not unnecessarily fiddly
Pro Reliable
With less complication, there is less to go wrong.
Pro Zero configuration
There is literally no configuration required to get SQL lite up and running. This is mainly due to SQLite being serverless, there is no separate server process to install, setup, configure, initialize, manage, and troubleshoot.
Pro World wide technical support
Oracle is a large company with specialists in a lot of countries. It's very easy to find consultants and any kind of help with Oracle.
Pro Useful features for daily workflow
Some of the most important features are the partitioning option, active data guard, and security options. All of these are very useful for daily workflow.
Pro Stable
Pro Secure
Pro Scalable
Pro Reduced downtime during upgrades
Oracle Database has parallel upgrading for high available applications. Updates are made in parallel without keeping the database down.
Pro High performance parallel quesries
Oracle Database has introduced concurrent execution of union branches, which means that one set of parallel servers will execute one branch, a second set will execute another branch and so on. Instead of the old system where each branch executed one after the other.
Cons
Con No multi user
Lacks multi-user capabilities, see SQLite vs. MySQL vs. PostgreSQL: A Comparison of Relational Databases.
Also see: Appropriate Uses For SQLite.
Con Some SQL features are missing
SQLite is made to be extremely lightweight and portable, but it still uses SQL. However, some SQL features such as RIGHT OUTER JOIN
and FOR EACH STATEMENT
are missing.
Con Proprietary
Con Terrible company reputation
Oracle is very (in)famous for being involved in a number of controversies. Some of them have ended up in lawsuits with other tech companies because of license disputes. The latest one is a lawsuit against Google for Google's implementation of JAVA in their Android ecosystem.
Con Ghost data
To work around ghost data you can after encrypting something, manually move everything out of the old table space and then shred those data files. To be able to get rid of ghost data automatically would be great.