Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Best noSQL database to embed into a Java application?  RSS feed

 
Dwayne Barsotta
Ranch Hand
Posts: 86
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The personal program I am working on is starting to have a lot of different objects, by design.  So I started thinking about a way to store the entire object into a database, as opposed to using Derby and adding the properties, elements links to other objects all into seperate fields.  If I was to take the final database and design it in 3rd normal form it would be a massive amount of tables with the need for more complicated SQL statements. Ultimately increasing overhead.  It was suggested that I use a NoSQL database like MongoDB.   The problem with Mongo as I see it is not embeddable, which means it will need to be installed onto the user machine independently (or during the install procedure).  Please correct me if I am wrong, I know nothing of NoSQL DB's.  Also, I would need to either make sure Mongo is running when I run the application or start and stop it with the application.

I want to avoid that,  I have seen several NoSQL databases listed that CAN be embedded in a Java application.  Can anyone suggest some, and some resources I can read up on this?  I was just getting comfortable with Derby when I realized a NoSQL option would be better.

Thanks 
 
Jeanne Boyarsky
author & internet detective
Sheriff
Posts: 37234
519
Eclipse IDE Java VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't know if this is the best, but UnQLite  appears to meet your needs.
 
Dwayne Barsotta
Ranch Hand
Posts: 86
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have been doing some thinking on this subject!  At what point does an object become so large that it should not be incorporated into a relational database?  Is it important that a database designed to store persistent data for an application be in 3rd normal form?  The more I think about it, it doesn't.  If I was accessing the database from several applications and it was possible for a user to screw something up in the database through a SQL query, then normal form might be the issue,  But since all SQL will be pre made, and set.  All data being accessed and saved pre determined and there will be no direct access to the DB from the user I think I don;t need to really worry about designing under 3rd normal form?

What is y'all opinion?

Yes I'm a CS student (online part time - first year sort of) and did take database 1.  I think that's why I over think everything.  No real life experience to help guide my decisions.  I keep going back to "What did the book say?"
 
Jeanne Boyarsky
author & internet detective
Sheriff
Posts: 37234
519
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you are new to Java/programming, I'd revisit the assumption about the need to put the "object" in the database in the first place.

What's in your object?
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!