InfoQ

News

Google Contributes Data Partitioning Capability to Hibernate

Posted by Scott Delap on Mar 20, 2007 10:31 AM

Community
Java
Topics
Data Access
Tags
Hibernate
Three new top level Hibernate projects were released today: Validator, Search, and Shards.  Search and Validator are both promotions of existing work.  Shards which was contributed by Google is a horizontal partitioning solution built on top of Hibernate Core. From the press release:

Hibernate Shards, contributed by Google, offers critical data clustering and support for horizontal partitioning (also called sharding) to Hibernate. Now, customers can keep their data in more than one relational database for whatever reason-too much data or to isolate certain datasets, for instance-without added complexity when building and managing applications. Hibernate Shards is designed to encapsulate and reduce the complexity of building applications that work with sharded datasets.

"The ability to improve scalability by seamlessly distributing data across multiple databases is crucial for enterprise applications that transact against large or physically distributed datasets," said Google software engineer Max Ross. "We're pleased to contribute our implementation for horizontal partitioning to open source via Hibernate, and we look forward to working with the Hibernate team to further this technology."

Today also marks updated releases of Hibernate Annotations and Hibernate Entity Manager 3.3.0GA. Among the included features:
  • Improved support for legacy mapping, including better native SQL customization support and fetching strategies.
  • Out-of-the-box integration between all Hibernate components. Users have asked for flexibility of components so they can implement Hibernate in whichever manner suits their development. Now there's less configuration hassle so users can start developing right away.
  • Improved integration in third party environments such as IBM WebSphere, BEA WebLogic, and pure Java Persistence solutions.
wow by Jesse Kuhnert Posted Mar 20, 2007 8:24 PM
  1. Back to top

    wow

    Mar 20, 2007 8:24 PM by Jesse Kuhnert

    Thanks, google. If you've ever had to do it by hand you'll know it's nothing to sniff at. This is the kind of open source I want to see from google. Awesome. :)

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.