это зависит от ваших требований.
первая попытка:
если вам нужна быстрая и встроенная база данных, и у вас не так много данных (нет кластеризации, нет распределения), я бы взял H2. эта база данных быстрая, ее можно использовать с hibernate / orm, и если вы хотите использовать специальные функции этой базы данных (ее легко расширить с помощью java-разработчика с функциями ...)
вторая попытка:
у вас не так много реляционных данных, вы хотите использовать графики объектов разных типов. Вы хотите быстрое и полностью встраиваемое решение, чем я бы использовал db4o или другой db в стиле объектно-ориентированной памяти. (без норм)
третья попытка:
если вы хотите хранить гораздо больше данных (например, миллион записей в таблице), но без кластеризации, репликации, распространения, чем я бы использовал mysql. это быстро и приятно в использовании.
Я обнаружил, что Postgres в моем опыте медленнее, чем MySQL. MySQL идеально подходит для использования непосредственно в Java, а также в спящем режиме и совместно. также.
четвертая попытка:
если у вас намного больше данных ... о, извините, я забыл, что вы спрашивали о домашнем решении :)
В приведенной выше рекомендации я использовал только бесплатные продукты или продукты с открытым исходным кодом для некоммерческого использования.
о графическом инструменте: вы можете найти множество из них для разных баз данных, но также для решения, независимого от базы данных ...
веселись!