DbFit is a set of FIT fixtures which enables FIT/FitNesse tests to execute directly against a database. This enables developers to manipulate database objects in a relational tabular form, making database testing and management much easier then with xUnit-style tools. The library is free to use, released under GNU GPL.
Hibernate Spatial is a generic extension to Hibernate for handling geographic data. Hibernate Spatial is open source and licensed, like Hibernate, under the LGPL license.
Hibernate Spatial allows you to deal with geographic data in a standardized way. It abstracts away from the specific way your database supports geographic data, and provides a standardized, cross-database interface to geographic data storage and query functions.
Hibernate Spatial supports most of the functions of the OGC Simple Feature Specification. Supported databases are: Oracle 10g/11g, Postgresql/Postgis, and MySQL.
Hibernate Synchronizer is a free Eclipse plugin code generation tool to be used with the Hibernate persistence framework. The plugin will automatically generate java code when your hibernate mapping files are modified. Objects are created with generated code in an abstract base class and a user-modifiable extension class so user code does not get deleted when the generation is performed.
The automaticallly generated objects include:
* Value Objects
* Proxy Interfaces
* Composite Key Objects
* Enumeration Objects
* Component Objects
* Subclasses
* DAOs
Other features include:
* Editor with code assist and outline view
* Custom template generation
* New mapping file wizard that queries your database
* New configuration file wizard
* Actions for adding mapping references, synchronizing files, and manually activating code generation
The project provides extensions to Hibernate to provide complete auditing capabilities. It uses a set of tables in the DB that do not depend on the object model
A library for using Memcached as a second level distributed cache in Hibernate.
* Based on the excellent spymemcached client
* Includes support for the Whalin (danga) memcached client
* Supports entity and query caching.
* See the Configuration page
* See how easy it is to configure in Grails
Extrema is a powerful visualization and data analysis tool that enables researchers to quickly distill their large, complex data sets into meaningful information. Its flexibility, sophistication, and power allow you to easily develop your own commands and create highly customized graphs.
Model-based Data Export Tool
Features
* Mass data export to XML and SQL.
* Generates hierarchically structured XML and topologically sorted SQL-DML.
* Exports consistent and referentially intact row-sets from your productive database and imports the data into your development and test environment.
* Removes and archives obsolete data from your productive database without violating integrity.
* Open Source. Entirely written in Java. Platform independent. DBMS agnostic.
In spite of the example working, transaction management is not working appropriately when it comes to both Hibernate and JBossCache participating of the same transaction. The reason is because at the time of writing this wiki, Hibernate did not allow to inject a JTA Transaction Manager which is not bound to JNDI. In the example, Hibernate creates a JDBC transaction and JBossCache a JTA transaction which are not linked together. To be able to make a Hibernate and JBossCache participant of the same JTA transaction in a standalone environment, customer code needs to be added to Hibernate to get around the JNDI/JTA coupling.
The Envers project aims to enable easy versioning of persistent JPA classes. All that you have to do is annotate your persistent class or some of its properties, that you want to version, with @Versioned. For each versioned entity, a table will be created, which will hold the history of changes made to the entity. You can then retrieve and query historical data without much effort.
Similarly to Subversion, the library has a concept of revisions. Basically, one transaction commit is one revision (unless the transaction didn't modify any versioned entities). As the revisions are global, having a revision number, you can query for various entities at that revision, retrieving a (partial) view of the database at that revision.
JoSQL (SQL for Java Objects) provides the ability for a developer to apply a SQL statement to a collection of Java Objects. JoSQL provides the ability to search, order and group ANY Java objects and should be applied when you want to perform SQL-like quer
log4jdbc is a JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing information) for other jdbc drivers using the Simple Logging Facade For Java (SLF4J) logging system.
MIGRATEdb will parse an XML file of database changes and load them to the targeted database if they are not already there.
A database change consists of tests to determine whether the change has already been applied and a set of change actions.
Das Problem …
PHP-Scripte werden nach einer bestimmten Laufzeit abgebrochen (normalerweise nach 30 Sekunden), und so funktioniert ein Backup mit diversen Tools nur bis zu einer bestimmten Größe.
Braucht das Script länger als die 30 Sekunden, so wird es vom Server einfach abgebrochen, und man kommt nicht mehr an sein Backup heran. Gleiches gilt für das Wiedereinspielen eines Backups.
Wer einmal ein Dumpfile von Hand in viele kleinere Einzelabschnitte zerlegt hat, um eine Datenbank wieder herzustellen, der weiß genau, wovon wir reden.
MySQLDumper ist die Lösung …
MySQLDumper umgeht den Timeout-Error mit Hilfe eines kleinen Tricks: Er liest nur eine bestimmte Anzahl von Datensätzen aus der Tabelle aus, merkt sich, wie weit er gekommen ist, und ruft sich anschließend selbst auf. Dadurch erhält das Script bei jedem Aufruf wieder die vollen 30 Sekunden und umgeht so den Timeout-Error. Das gleiche Prinzip benutzt MySQLDumper auch beim Wiederherstellen der Daten.
MySQLDumper kann die Daten beim Sichern sofort packen. Auch das Wiederherstellungsscript kann direkt aus dieser gepackten Datei lesen, ohne dass sie auf dem Server entpackt werden muss! Natürlich kann man die Datei auch ungepackt lassen, aber spätestens beim Hochladen eines Backups weiß man dies zu schätzen.
Neo4j is a graph database. It is an embedded, disk-based, fully transactional Java persistence engine that stores data structured in graphs rather than in tables. A graph (mathematical lingo for a network) is a flexible data structure that allows a more agile and rapid style of development.
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.
Neo4j is released under a dual free software/commercial license model (which basically means that it’s “open source” but if you’re interested in using it in commercially, then you must buy a commercial license).
Neo4j has been in commercial development for 8 years and in production for over 5 years. It is a mature and robust graph database that provides:
* an intuitive graph-oriented model for data representation. Instead of static and rigid tables, rows and columns, you work with a flexible graph network consisting of nodes, relationships and properties.
* a disk-based, native storage manager completely optimized for storing graph structures for maximum performance and scalability.
* massive scalability. Neo4j can handle graphs of several billion nodes/relationships/properties on a single machine and can be sharded to scale out across multiple machines.
* a powerful traversal framework for high-speed traversals in the node space.
* a small footprint. Neo4j is a single <500k jar with one dependency (the Java Transaction API).
* a simple and convenient object-oriented API.
* optional layers to expose Neo4j as an RDF store, i.e. easily inject / extract data as RDF, express meta model semantics using OWL and query the node space using SPARQL. When it comes to scalability numbers, remember that several triples are usually mapped to a single node. (currently being developed under the umbrella of the OpenMetadir project)
I'm Solomon Duskis, NYC consultant and a Java/J2EE guy. I work at Finetix in NYC. The postings on this site are my own and do not necessarily represent the positions, strategies or opinions of Finetix. solomon.duskis at finetix.com
JUDIE steht für Java Universal Database Import and Export. Das Tool exportiert einzelne oder alle Tabellen einer JDBC Datenbank nach XML und importiert diese wieder in andere Datenbanken. Es ist als API (JAR), Kommandozeilenprogramm oder Eclipse Plugin verfügbar. Es kann für Entwickler und Administratoren nützlich sein, um Daten zwischen Datenbanken zu übertragen, besonders zum Aufsetzen von Testdatenbanken. Wegen der einfachen API kann das auch automatisiert werden, z.B. als Skript oder Ant-Task.