Likelihood to Recommend For running application tests it's well suited. H2 [Database Engine] can replace the real-world database solution for them easily and removes the requirement to set up a a separate database instance just for running unit tests. For using in actual production application one needs to consider scale. H2 is suitable if application runs in single instance and database is located in same machine as a file where that application runs. This means the application shouldn't have a large user base. However it's easy to switch to an actual
MySQL instance if the need arises, it's most likely only a configuration change and doesn't require new code.
Read full review SQLite is a lightweight and efficient database management system. With SQLite, performance increases as memory are added. It's reliable and well-tested before release. SQLite handles memory allocation and I/O errors gracefully. SQLite provides bug lists and code-change chronologies. All bugs are disclosed, and it's compatible with iOS, Android, MAC, and Windows. SQLite is open-source, allowing developers to tailor it to their specific needs.
Read full review Pros Can run as an in-memory database. Simple and quick to get started with, and is light weight (only 2MB). SQL compliant so it compatible with most relational databases. Read full review Our products are using SQLite in embedded Linux and in Windows software. It is truly a stable cross-platform database. The fact that it is a zero-configuration database engine, it is particularly a nice advantage when you work in the embedded world. Being a single database file, it provides ease for those who need to quickly transfer data to someone else, or quickly browse data. Read full review Cons There's a warning in official FAQ "Is it Reliable?"-section which makes it seem like H2 is not yet a mature product. If raw SQL queries are used there maybe be differences between MySQL & H2. ORM library should be used. Support seems to be community-based only. Read full review Although it is excellent at what it does, you should be really careful and plan accordingly if you know that your database is going to scale at a huge level because it is not suitable of databases which are of Enterprise level and demands top-notch security and protection. If your project involves multiple people working on the same database simultaneously, then that becomes a big problem, because it only allows single write at one time. You really need to be forward thinking in a manner to predict if this database will cater to all the needs of your project. The most common difficulty with this is the lack of some of the basic functionality which is present in the other premier databases like Joints, Stored Procedure calls, Security and permission grants. If you do require all those things then you are better off not using this software. Lastly, if you are using this in an Andriod App development cycle then also your options are limited because it does not integrate with PostgreSQL and MYSQL. Read full review Usability I have had a wonderful experience with SQLite because in my every project I use SQLite in the development phase because it's really fast, doesn't crash and very easy to maintain as well. It saves a lot on physical memory and dedicated server usage. It has all the basic functionality you would need to get the job done and that too at no cost at all. What more could you ask for !!!
Read full review Support Rating I haven't needed support yet.
Read full review Alternatives Considered While both can run as an in-memory database, H2 Database Engine was just so much easier for us to use since we primarily use the Java stack and H2 Database Engine is also built with Java.
Read full review We looked at other traditional RDBMS products, but found them to be cumbersome to deploy. They take up more space, and consume more computing resources than SQLite does. While the performance or direct integration to our primary applications may have been better or easier if we had gone with a traditional RDBMS, the performance of SQLite has been more than acceptable. The performance and speed to deploy made SQLite a much more attractive option for us than a traditional RDBMS.
Read full review Return on Investment Doesn't take time from developers, once it's configs are set up for testing it works in everyone's development environments Easy to integrate in application, no need to setup separate database software, no maintenance No need to deal with infrastructure related issues/costs - database runs in same machine as the application that uses it. Read full review No licensing fees has a net increase on ROI The active community has kept support costs low, further increasing ROI The wide range of supported platforms and high level of compatibility has increased ROI by reducing time spent porting the database model to any platform specific solutions. Read full review ScreenShots