Object database for website [closed]
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this questionI was planning to use db4o for a website. It's a microblog site with small posts and comments developed in Java.
The thing is I contacted db4o support asking if db4o would be suitable for a website, and they answered me that only for websites with low concurrency. That means with few requests?
So, now I think db4o will not be a goo开发者_如何学God choice.
Do you know if there is any object database for Java suitable for a website?
These are good java only solutions I guess you can use(no object database solutions, but I don't hear a lot about that so I would dismiss them).
- Cassandra: Cassandra for sure scales really well according to the big players: digg,twitter, etc. I am also looking into this and I think you should also look into this. I don't think it is an easy solution, but learning this will surely work in your advantage.
- FleetDB: FleetDB is a schema-free database optimized for agile development.
- Neo4j: You can think of Neo4j as a high-performance graph engine with all the features of a mature and robust database. The programmer works with an object-oriented, flexible network structure rather than with strict and static tables — yet enjoys all the benefits of a fully transactional, enterprise-strength database.
- Hbase: HBase is an open-source, distributed, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al.
- H2: the Java SQL database
Don't use an Object database. Many projects based on them fail. Relational databases are proven on many projects, so use MySQL, H2, Derby, Oracle, or any other relational database that meets your needs.
If you want to try something new, use a Map-Reduce based store or a document based store like Hadoop, Cassandra, CouchDB, et al. http://nosql-database.org/
If you need an object database you could look at PostgreSQL. It's free/opensource, and handles concurrency well.
There aren't that many choices out there, I think. Caché might make sense, although I've only heard of one team using it and their system failed so miserably performance-wise (especially as the number of concurrent users grew) that the project was canceled. You can have miserable performance with any DB, but I'd like to hear of a positive, real-life Caché-based system before I'd give it a try.
I would use an ORM like hibernate to map to a traditional relational database.
OrientDB is a Multi-Model Open Source NoSQL DBMS. Multi model means that it is essentially Graph Database / Document Database but also have Object API which is implemented by db4o. It have also SQL query interface.
Other answer suggests that Object Database is in general not actively developed. I agree. But OrientDB is multi-model which includes Object API, and actively developed as of 2016 April.
For website development, OrientDB is suitable for small or large website in terms of scalability as it supports multi-master replication. When your website got more traffic, you can increase the number of OrientDB node and load balance the traffic.
精彩评论