Apache Derby is an embedded relational database management system, originally developed by IBM and called IBM Cloudscape.
N/A
IBM watsonx.data
Score 8.8 out of 10
N/A
Watsonx.data is presented as an open, hybrid and governed data store that makes it possible for enterprises to scale analytics and AI with a fit-for-purpose data store, built on an open lakehouse architecture, supported by querying, governance and open data formats to access and share data.
N/A
Titan
Score 8.0 out of 10
N/A
Titan is an open-source distributed graph database developed by Aurelius. Aurelius is now part of Datastax (since February 2015).
If you need a SQL-capable database-like solution that is file-based and embeddable in your existing Java Virtual Machine processes, Apache Derby is an open-source, zero cost, robust and performant option. You can use it to store structured relational data but in small files that can be deployed right alongside with your solution, such as storing a set of relational master data or configuration settings inside your binary package that is deployed/installed on servers or client machines.
Real-time transaction processing (both reads and writes) is where DataStax Enterprise shines. It's very fast with linear scalability should more resources be needed. Additional nodes are added very easily. DataStax Enterprise on its own (without Solr or Spark enabled) isn't well suited for long complicated reports. The data model doesn't support joining multiple tables together which is common in BI reporting.
Titan is definitely a good choice, but it has its learning curve. The documentation may lack in places, and you might have to muster answers from different sources and technologies. But at its core, it does the job of storing and querying graph databases really well. Remember that titan itself is not the whole component, but utilizes other technologies like cassandra, gremlin, tinkerpop, etc to do many other things, and each of them has a learning curve. I would recommend titan for a team, but not for a single person. For single developer, go with Neo4j.
Apache Derby is SMALL. Compared to an enterprise scale system such as MSSQL, it's footprint is very tiny, and it works well as a local database.
The SPEED. I have found that Apache Derby is very fast, given the environment I was developing in.
Based in JAVA (I know that's an obvious thing to say), but Java allows you to write some elegant Object Oriented structures, thus allowing for fast, Agile test cases against the database.
Derby is EASY to implement and can be accessed from a console with little difficulty. Making it appropriate for everything from small embedded systems (i.e. just a bash shell and a little bit of supporting libraries) to massive workstations.
Datastax Cassandra provides high availability and good performance for a database. It is built on top of open source Apache Cassandra so you can always somewhat understand the internal functioning and why.
Datastax Cassandra is fairly simple to start using, you can install/setup your cluster and be productive in 1 day.
Datastax Cassandra provides a lot of good detailed documentation, and when starting, the detailed free videos on the Datastax site and documentation are very helpful.
Datastax Enterprise Edition of Cassandra provides more tools, good support, and quick response SLA for enterprise business support.
Integration complexity with Security Tools while watsonx.Data is well-suited for native tools, but integration with third-party security tools requires custom connectors or manual ETL pipelines. which leads to an increase in setup time.
The community is lacking deep documentation. I had to spend many nights trying to figure many things on my own. As graph databases will grow popular, I am sure this will be improved.
Not enough community support. Even in SO you might not find many questions. Though there are some users in SO who quickly answer graph database questions. Need more support.
As an open source technology Cassandra can be readily used with or without any commercial support. DataStax provides value-added services and features, and in the end it is up to individual situations to strike a balance between the desirability of such support/service versus the associated cost.
DataStax has a good community built around it and has amazing scalability options. Though the initial setup is a bit costly, in the long run, it makes up for it. It also has powerful monitoring tools and a clean UI.
We have had a few situations where we caused an outage or something has gone wrong and we are able to get a support person to offer live help within minutes. The escalation process is excellent - the best I've seen - and the support team is incredibly strong. Outside of emergencies, the team is very helpful with general questions and working through data model exercises and the subscription I believe still comes with some hours to help get the data model reviewed.
SQLite is another open-source zero-cost file-based SQL-capable database solution and is a good alternative to Apache Derby, especially for non-Java-based solutions. We chose Apache Derby as it is Java-based, and so is the solution we embedded it in. However, SQLite has a similar feature set and is widely used in the industry to serve the same purposes for native solutions such as C or C++-based products.
Pinecone and IBM watsonx.data (Milvus in our case) both work great as a full-managed cloud-based vector database. We selected IBM watsonx.data because it integrates well with watson.ai and is a little more beginner friendly than Pinecone, but I think both are great anyway.
To be honest, titan is not as popular as Neo4j, though they do the same thing. In my personal opinion, titan has lot of potential, but Neo4j is easier to use. If the organization is big enough, it might choose titan because of its open source nature, and high scalability, but Neo4j comes with a lot of enterprise and community support, better query, better documentation, better instructions, and is also backed by leading tech companies. But titan is very strong when you consider standards. Titan follows gremlin and tinkerpop, both of which will be huge in future as more graph database vendors join the market. If things go really well, maybe Neo4j might have to support gremlin as well.
Being Open source, the resources spent on the purchase of the product are ZERO.
Contrary to popular belief, open source software CAN provide support, provided that the developers/contributors are willing to answer your emails.
Overall, the ROI was positive: being able to experiment with an open source technology that could perform on par with the corporate products was promising, and gave us much information about how to proceed in the future.