Now, guzz 1.3.0 joined the Spring Declaration Transaction. You can write programs running on MANY databases and maintain the distributed transaction with Springframwork, just like writing a Hibernate program.
Guzz is a java object-relational mapping framework that will let you use many databases in one system. It provides a full stack data-layer solution for large systems.
guzz’s database layer features:
1. You have too many tables in a database, or they took too much resource for one database. Distribute them in different database machines with dbgroup in chapeter 3: http://code.google.com/p/guzz/wiki/TutorialGuzzXml
2. Some table is too big. Spit them into small ones with ShadowTable in chapter 15: http://code.google.com/p/guzz/wiki/TutorialShadowTable
3. Your business is special, for example a shopping site; each table may/should own its special columns. Ok, split them with CustomTable in chapter 16: http://code.google.com/p/guzz/wiki/TutorialCustomTable
4. Big tables are split, but the split small tables are too many or too big in total to store together. Distribute the small tables in different database machines with VirtualDB in chapter 17: http://code.google.com/p/guzz/wiki/TutorialVirtualDB
5. Some column is too big to store in the database, or should be treated very special. Store it in File System, in memcached, or in anything you like with CustomColumnLoader in chapter 11: http://code.google.com/p/guzz/wiki/TutorialLazyLoad
6. The system is really very very busy, a single database is absolutely impossible to achieve your mission. Ok, deploy more READ machines with the native read-write separation support in guzz.
Guzz can work with hibernate and ibatis, and can also work alone. If a system meets something of lacking database-scale ability, deploy more database machines and introduce guzz to upgrade database-scale related modules. It’s simple to write, easy to understand, and future-oriented.