SlideShare a Scribd company logo
1 of 11
Download to read offline
WHITE PAPER




CREATING HIGH
PERFORMANCE BIG DATA
APPLICATIONS WITH THE
JAVA PERSISTENCE API
By Dirk Bartels & Matthew Barker, Versant Corporation


Sponsored by Versant Corporation




Versant Corporation U.S. Headquarters
255 Shoreline Dr. Suite 450, Redwood City, CA 94065
www.versant.com  +1 650-232-2400
EXECUTIVE SUMMARY
                                THE CASE FOR BIG DATA APPLICATIONS
Design for the
Unexpected                      Data management has reached another inflection point. A new
                                breed of applications is pushing traditional, mostly relational
New applications must           database management solutions (RDBMS) beyond their limits,
consider many issues            driven by an ever-growing mountain of data, ubiquitous access to
that are closely related
                                information, the consumerism of IT, cloud computing, mobile
to data management:
                                computing, and, last but not least, the hunger for smarter
» Velocity, volume,             applications.
  variety, scale and
  concurrency, domain           These volumes of data are outgrowing advances in hardware
  model richness, the           design, while simultaneously analytics applications are pushing for
  value to be derived           faster, near-real-time capabilities to deliver on the promise of
  from it, and, critically,     leveraging Big Data’s benefits. It becomes clear that data
  immensely dynamic             management software must evolve rapidly to address these
  demands.
                                changing requirements. But instead of following the “one size fits
» Programming                   all” model of the past, a more prudent approach to this new era of
  standards play a vital        data management is to consider more closely the specific
  role in enabling              requirements of each application implementation and use the
  flexibility.                  information management system that best meets those demands.
                                For example, it is critical to estimate the scale of the data problem
                                and the level of complexity (or richness) of the domain (data)
                                model, among other important aspects, in order to pick the right
                                data management technology(ies) to get the job done.

                                As we design these new types of applications, we must consider
                                many issues that are closely related to data management: velocity,
                                volume, variety, scale and concurrency, the richness of the domain
                                models, and, critically, the value we want to derive from the data.
                                But perhaps most importantly, these new requirements result in
                                immensely dynamic demands, and designing applications to meet
                                them also means planning for the unexpected. Applications built
                                today must be able to easily add data sources, and integrate with
                                other IT systems.

                                Programming standards play a vital role in enabling this flexibility.
                                Standards establish a stable and reliable baseline on which the
                                market can build compliant tools and solutions. They allow
                                developers to pick and choose the right vendor or tool for the
                                project at hand without requiring the extra costs to learn new skills
                                or techniques.




                              About Big Data and Java Persistence API
                              Page 2 of 11
THE NEED FOR PROGRAMMING
                             STANDARDS
Programming
Standards                    A programming standard helps to increase developer productivity
                             and software quality. An established and widely adopted standard
Increase                     allows companies and developers to invest in that standard through
Developer                    training, education, and standard-compliant tools. For example,
Productivity And             SQL is a notable standard, and after its breakthrough nearly thirty
Software Quality             years ago a huge industry grew around it, creating a de facto
                             database standard for today’s traditional enterprise applications.
Software standards are
created primarily in two     Software standards are not typically established by committees, but
ways:                        rather by the market itself. There are two dominant ways the
» The sheer volume of        market has created standards:
  supporters and users
  creates a critical             1. By sheer volume, companies like Microsoft (with Windows)
  mass that ensures                 and Apple (with iOS) have such dominance in their
  the technology’s                  particular segment that their technologies have become de
  place in the industry.            facto standards. The sheer number of supporters of the
» A number of leading               technology - application developers and consumers buying
  technology vendors                into the platform - creates the critical mass for a flourishing
  adopt the solution,               ecosystem that ensures the technology’s longevity.
  effectively making it
  an open source                 2. Other standards, such as SQL, and more recently Hadoop
  standard.                         and MapReduce, are created by having support from a
                                    number of vendors, therefore, reaching critical mass as an
                                    open system rather than a closed one.

                             The Java Persistence API (JPA), much like SQL, is an open data
                             management standard. Unlike the proprietary APIs being created
                             by emerging NoSQL solution vendors, JPA is already part of a
                             large ecosystem, and training, education and tool support are
                             widely available. NoSQL products like Couch DB, Mongo DB, and
                             Cassandra are facing an uphill battle to reach mainstream adoption
                             and be attractive enough for third parties and developers to create
                             an ecosystem for these systems. Their market is limited to early
                             adopters, which tend to ignore the need for standards.

                             And while NoSQL is a new, complementary-to-SQL method for
                             data management, it is desirable to extend JPA to also become the
                             NoSQL standard for Java. Why rely on a proprietary and less
                             mature API if similar functionality can be had with an established
                             standard?




                           About Big Data and Java Persistence API
                           Page 3 of 11
INTRODUCTION TO JPA
  The Java programming language and its platforms, such as J2SE
  and J2EE, remain the undisputed leading platforms for enterprise
  application development. A large eco-system of tools, broad
  operating system support, and legions of skilled developers makes
  Java an excellent choice for enterprise application development.

  With the growing size and richness of enterprise applications, it is
  literally unmanageable to consider a large scale development
  project in Java without using a persistence programming
  framework to help manage the complexity of the underlying data
  management system. Today’s applications often require thousands
  of persistent models (or classes). Programming and maintaining a
  class separately from a database schema (for RDBMSs, tables,
  columns, indexes, and possibly further optimizations, such as
  stored procedures) without a higher level abstraction is no longer
  commercially feasible. Simply put, application models have
  become too rich to be managed at the relational level, and require
  a persistence framework to simplify development and
  implementation of the database layer.

  Part of the broader Java platform is the so-called Java Persistence
  API (JPA), an established de facto standard for the persistence
  layer between application and database. JPA has been widely
  adopted as the programming interface for RDBMSs, using
  implementations such as EclipseLink, Hibernate JPA, Open JPA,
  and others. Compared to the more basic JDBC 1 programming API,
  JPA offers a higher level of abstraction, and hides and
  encapsulates most of the tedious, error-prone code that would be
  necessary using JDBC to “map” Java classes to a relational
  database schema. The “assembly” and “disassembly” of objects
  from and to the database is mostly automated. This allows the
  developer to stay focused on its application domain and to
  significantly improve productivity.

  The JPA specification is maintained in the Java Community
  Process 2 (JCP). It originated from the open source tool Hibernate 3,
  one of the first and most successful object-to-relational mapping
  (ORM) technologies for Java, the Java Enterprise Beans (EJB) 3.0
  persistence specification, and, most notably, the Java Data


  1 JDBC is a Java-based data access technology (Java Standard Edition platform)
  from Sun Microsystems, Inc.. It is not an acronym as it is unofficially referred to
  as Java Database Connectivity
  2 The JCP is the mechanism for developing standard technical specifications for
  Java technology. See jcp.org
  3 Hibernate is an object-relational mapping (ORM) library for the Java language




About Big Data and Java Persistence API
Page 4 of 11
Objects 4 (JDO) standard. The JDO specification was created by
                             several object database experts who originally coined the notion of
                             object persistence as a tight integration between the application
                             and the database via a single, unified type system. With roots so
NoSQL Delivers               close to the fundamentals of database creation and
Three Important              standardization, JPA represents an amalgam of the following
Functionalities              philosophies to integrate database access into Java:

» The simplicity of the          The “pragmatic” Hibernate, born out of the necessity to
  Key:Value pair query           overcome the impedance mismatch between an object oriented
  enables higher                 application and a relational database by mapping objects into a
  performance, but               relational database, which quickly gained large developer
  only when the
                                 support.
  relative complexity of
  the meta data and
  query type is low
                                 The “dogmatic” EJB, born out of a specification to construct a
                                 true object system, which in the end proved to be too “heavy”
» High partition                 and complicated to implement. Developers abandoned EJB
  tolerance provides             persistence because they wanted to use so-called Plain Old
  added redundancy               Java Objects (POJOs).
  and easy scale-out
» High availability is           The “pure objects” JDO, the most elegant and efficient
  extremely important            specification, creating a single-type system to work with objects
  for the “always on”            all the way from the application to the database tier.
  demands of today’s
  social media sites
                             WHY NOSQL MATTERS
                             At the same time, the changing requirements for data velocity,
                             volume, concurrency, availability, and partition tolerance, to name
                             just a few key issues, have inspired a new breed of data
                             management systems, often referred to as NoSQL, or “Not only
                             SQL”, databases. NoSQL databases represent a collection of
                             database management tools that both implement a functional
                             subset of what is known as a SQL database, and also introduce
                             different functionality to address critical database needs for
                             situations like web-scale applications, which are not readily
                             available in SQL technologies.

                             Some of the critical differentiators, requirements and capabilities of
                             NoSQL are:

                                 KEY VALUE:
                                 NoSQL databases use a simple, one dimensional vector, also
                                 called a key, to retrieve data elements from the database. First
                                 generation NoSQL databases use this key often as the only
                                 means to retrieve data to avoid any overhead, such as those

                             4 Java Data Objects (JDO) is a standard way to access persistent data in
                             databases, using plain old Java objects (POJO), see also
                             http://db.apache.org/jdo/




                           About Big Data and Java Persistence API
                           Page 5 of 11
imposed by maintaining index structures. This is tolerable as
      long as the key is sufficient for data retrieval. However, for any
      other type of more complex query, or for looking into a
      sequential read of the entire data store, or maintaining
      additional structures outside of the key value store, initial
      NoSQL solutions become exponentially less efficient.

      The “reduction” to the simple key:value pair query is somewhat
      justified, though, as it does eliminate overhead, and therefore
      provides higher performance. But it also plays into other
      important NoSQL capabilities, such as Partition Tolerance (see
      below), which would be much harder to achieve with the more
      complex meta data and query capabilities typically found in
      SQL and other enterprise databases.

      PARTITION TOLERANCE:
      Another foundational ingredient to NoSQL is that it gives the
      developer simple ways to partition the data, and to add or split
      partitions without shutting down the entire database system,
      which is a key to NoSQL’s ability to provide High Availability
      (see below). Partitions are very important for designing and
      operating a seamless, horizontal scale-out architecture where
      new partitions can be added when the work load or the volume
      of data exceeds the capacity of the current cluster architecture.

      This is contrary to the design of traditional SQL databases,
      which often require an upfront calculation for storage,
      concurrency, and other important considerations that must be
      “wired” into its setup. Adding partitions can be a tedious
      process, often requiring that the database services be shut
      down to re-configure the setup and recreate indexes entirely,
      among other costly complications.

      AVAILABILITY:
      Like the other NoSQL capabilities above, Availability plays into
      the design, as well. Many Web-based applications and
      services, like eBay (e-Commerce) or Facebook (social media),
      simply cannot afford to ever go offline. So even if one partition
      or server goes down, the show must go on! Therefore,
      designing a horizontal, scale-out database cluster, where
      individual partitions can easily be replicated, stopped, or
      restarted provides a “softer and more elastic” architecture so
      that even if a partition fails, that failure does not affect the rest
      of the cluster. NoSQL’s simple key:value vector and Partition
      Tolerance enable this kind of architecture.

      EVENTUALLY CONSISTENT:
      All of the above benefits of simplification for the sake of scale
      and performance, however, come at a cost. SQL databases




About Big Data and Java Persistence API
Page 6 of 11
offer ACID (Atomic, Consistent, Isolation, Durable) transactions,
                                allowing the developer to put brackets around a series of
                                database operations to enforce a consistent state of the data
                                store, irrespective of programming failures, hardware failures,
Pitfalls of                     or simple latency in updating the state. ACID transactions,
Traditional JPA                 however, are typically not part of simple NoSQL databases.
                                This lack of “assurance” in NoSQL’s core design disqualifies it
and ORM                         from being suitable for certain applications that cannot live
» Deep class                    without consistency, such as financial transaction applications.
  hierarchies often
  cause slow                Such “dumbing down of the database” was born out of pure
  performance               necessity. However, as these new applications grow in complexity
» Changing the              and size, they require more and more application code to work
  schema over time          around NoSQL’s limitations.
  can be prohibitively
  time consuming            Lastly, most NoSQL products are proprietary by nature. It is up to
                            the application developer to fully understand their application’s
» Many-to-many
                            requirements and learn how to map those into the proprietary
  relationships in data
  models cannot be
                            technology when evaluating NoSQL products. This is another key
  handled efficiently,      reason why introducing JPA as an industry standard API for
  and present storage,      NoSQL is so important. Without a standard, every implementation
  memory and                will be vendor specific, choosing from best of breed solutions for
  processing                specific application requirements, and switching from one NoSQL
  challenges                solution to another will become expensive if not impossible.
» JPA ORM does not
  scale well as             BIG DATA APPLICATIONS, JPA, AND
  concurrent usage
  rises                     OBJECT-TO-RELATIONAL MAPPING
                            JPA is a proven specification to develop traditional enterprise
                            applications in Java. However, there are some well-known and
                            well-documented short comings when using JPA as an object-to-
                            relational mapping tool with rich data models:


                                HANDLING DEEP CLASS HIERARCHIES:
                                A deep class hierarchy presents problems for ORM tools even
                                with the ease of annotations. Normalization dictates that each
                                subclass be its own table (i.e. “one table per class”), but
                                performance when using such mapping techniques can be
                                prohibitively slow. Most developers collapse several classes
                                into one “big table” that wastes space and makes it very difficult
                                to find the optimal mapping within a deep hierarchy.

                                SCHEMA VERSIONING:
                                As it is already so difficult to execute optimal ORM with deep
                                class hierarchies it becomes practically impossible to manage
                                ORM as these data models inevitably evolve. Refactoring




                          About Big Data and Java Persistence API
                          Page 7 of 11
ORM, testing for performance bottlenecks, and evolving table
      schema can become extremely cumbersome and time
      consuming.


      EFFICIENCY WITH MANY-TO-MANY RELATIONSHIPS:
      Many-to-many relationships present efficiency problems for
      JPA with ORM. With an ORM, the underlying RDBMS must
      create “intersection tables” to handle many-to-many
      relationships. This added burden requires more space,
      memory, and added load (i.e. additional JOINs) to create,
      maintain, and traverse these intersection tables.


      SCALING:
      JPA ORM scalability is relatively poor, as the necessary JOINs
      to obtain related data performs poorly both when data sets
      grow and when concurrent usage increases. Often times,
      additional indices are required just to allow efficient retrieval of
      related data, which further hampers update performance and
      increases the size of the database.

  These types of engineering and operational issues arise in
  development when code size, model complexity, and data volumes
  grow. And with Big Data applications, even small issues quickly
  become bigger challenges that carry an exponential impact on the
  overall performance, the scalability of the application, and
  operational costs. Expensive re-engineering is often required to
  replace automatic mapping code with manually-written code to
  optimize access patterns and de-normalize the mapping to reduce
  the number of JOIN operations, to name just a couple resolutions
  to common problems.

  Ultimately, these problems may eventually render the benefits of a
  standard API and the automatic ORM mapping useless, and the
  resulting code and relational schema becomes hard to manage and
  maintain again.

  INTRODUCING VERSANT JPA AND
  THE VERSANT NOSQL DATABASE:
  HOW VERSANT SUPPORTS THE
  NOSQL PARADIGM
  How can the NoSQL benefits and the apparent issues of ORM
  mapping in Big Rich Data applications be addressed?




About Big Data and Java Persistence API
Page 8 of 11
KEY VALUE:
      As noted, a simple, direct vector into a large database can be
      very valuable, especially when the database gets partitioned
      and distributed. Versant supports the key:value paradigm with
      Logical Object Identifiers (LOID), a unique global identifier that
      programmers can use much like a pointer in the application
      program. Furthermore, Versant translates pointers gracefully
      and transparently, making it is easy to map even complex
      object hierarchies into the database, including all of the graph
      semantics, without incurring any overhead.


      PARTITION TOLERANCE:
      The Versant Object Database (VOD) offers a fully distributed
      model, allowing data that is managed on one or many servers
      to be partitioned in multiple databases, but still be connected
      when needed, for example, for a traversal from a parent object
      to a child object across partition boundaries.


      AVAILABILITY:
      With the right design, these database partitions can be
      managed individually without any impact on the overall
      availability of the database cluster a partition belongs to.
      Furthermore, partitions can be replicated via built-in,
      asynchronous replication features.


      CONSISTENCY:
      Last, but not least, VOD allows the programmer to selectively
      read from the database outside of transaction boundaries,
      allowing “dirty” reads of data that might not be entirely
      consistent. At the same time, Versant also provides a complete
      two-phase transaction protocol for distributed databases that
      can be switched on selectively and used to enforce data
      integrity and consistency when needed.


  USING AN OBJECT DATABASE WITH
  A NATIVE JPA LANGUAGE BINDING
  In addition to supporting critical NoSQL attributes that enables
  programmers to use VOD for Big Data applications and design a
  horizontal scale-out architecture, Versant provides a native JPA




About Big Data and Java Persistence API
Page 9 of 11
implementation. Versant JPA has been proven in many scenarios
  to be up to 10 times more efficient, requiring much smaller
  database clusters and significantly lowering the total cost of
  ownership.




                                                                   TABLE 1




  TABLE 1 AND TABLE 2
  VOD outperforms the competition with mixed workloads – and
  scales the best with multiple threads




                                                                   TABLE 2




About Big Data and Java Persistence API
Page 10 of 11
Such high efficiency is accomplished through two key design
  characteristics:

      1. Native binding means no JOINs:
         The most expensive operation in an RDBMS is a JOIN,
         which recreates a semantic relationship between two tables,
         for example, between an order table and an order item
         table. Each order item refers back to the order via the order
         number. In VOD, the reference is stored as a LOID,
         eliminating a large scan of an index structure to find all the
         associated data points to recreate the object (in this case,
         the order).
         The larger the database and the more complex the object
         structure, the more overhead is caused by performing
         JOINS.

      2. No mapping:
         Similarly, a native object storage requires no mapping
         needed from the in-memory representation of data objects
         to the database representation. The database and the
         application “share” a single type system, resulting in a
         tremendous reduction in design and coding work, and,
         furthermore, requires less CPU cycles since nothing needs
         to be disassembled and re-assembled.



  THE SYNERGY OF JPA AND NOSQL
      The synergies of combining the JPA standard with NoSQL
      characteristics are profound. Combining them provides today’s
      enterprise developer with the tools needed to properly support
      their organization by building applications that speed time to
      market, raise productivity and flexibility, and reduce the total
      cost of ownership in operations. The formula is:

  JPA + NOSQL + VERSANT = BIG RICH DATA APPLICATIONS

      For more information on Versant JPA and the Versant Object
      Database, visit
      http://www.versant.com/products/Versant_Database_APIs.aspx
      .




About Big Data and Java Persistence API
Page 11 of 11

More Related Content

What's hot

DataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data ArchitectureDataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data ArchitectureDATAVERSITY
 
Approaching Data Quality
Approaching Data QualityApproaching Data Quality
Approaching Data QualityDATAVERSITY
 
Data-Ed: Data Architecture Requirements
Data-Ed: Data Architecture Requirements  Data-Ed: Data Architecture Requirements
Data-Ed: Data Architecture Requirements Data Blueprint
 
The Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationThe Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationEmbarcadero Technologies
 
Data Strategy Best Practices
Data Strategy Best PracticesData Strategy Best Practices
Data Strategy Best PracticesDATAVERSITY
 
Data-Ed Online: Data Architecture Requirements
Data-Ed Online: Data Architecture RequirementsData-Ed Online: Data Architecture Requirements
Data-Ed Online: Data Architecture RequirementsDATAVERSITY
 
Slides: Moving from a Relational Model to NoSQL
Slides: Moving from a Relational Model to NoSQLSlides: Moving from a Relational Model to NoSQL
Slides: Moving from a Relational Model to NoSQLDATAVERSITY
 
Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?DATAVERSITY
 
A Year in Review - Building a Comprehensive Data Management Program
A Year in Review - Building a Comprehensive Data Management ProgramA Year in Review - Building a Comprehensive Data Management Program
A Year in Review - Building a Comprehensive Data Management ProgramDataWorks Summit
 
Why Data Modeling Is Fundamental
Why Data Modeling Is FundamentalWhy Data Modeling Is Fundamental
Why Data Modeling Is FundamentalDATAVERSITY
 
Emerging Trends in Data Architecture – What’s the Next Big Thing
Emerging Trends in Data Architecture – What’s the Next Big ThingEmerging Trends in Data Architecture – What’s the Next Big Thing
Emerging Trends in Data Architecture – What’s the Next Big ThingDATAVERSITY
 
Fasten you seatbelt and listen to the Data Steward
Fasten you seatbelt and listen to the Data StewardFasten you seatbelt and listen to the Data Steward
Fasten you seatbelt and listen to the Data StewardJean-Pierre Riehl
 
DM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled ArchitectureDM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled ArchitectureDATAVERSITY
 
Data Management vs. Data Governance Program
Data Management vs. Data Governance ProgramData Management vs. Data Governance Program
Data Management vs. Data Governance ProgramDATAVERSITY
 
Data-Ed Online Webinar: Data Architecture Requirements
Data-Ed Online Webinar: Data Architecture RequirementsData-Ed Online Webinar: Data Architecture Requirements
Data-Ed Online Webinar: Data Architecture RequirementsDATAVERSITY
 
SharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No CodeSharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No Codedox42
 
DataEd Slides: Data Management + Data Strategy = Interoperability
DataEd Slides: Data Management + Data Strategy = InteroperabilityDataEd Slides: Data Management + Data Strategy = Interoperability
DataEd Slides: Data Management + Data Strategy = InteroperabilityDATAVERSITY
 
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...DATAVERSITY
 
Showing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectShowing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectDATAVERSITY
 
ADV Slides: Data Pipelines in the Enterprise and Comparison
ADV Slides: Data Pipelines in the Enterprise and ComparisonADV Slides: Data Pipelines in the Enterprise and Comparison
ADV Slides: Data Pipelines in the Enterprise and ComparisonDATAVERSITY
 

What's hot (20)

DataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data ArchitectureDataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data Architecture
 
Approaching Data Quality
Approaching Data QualityApproaching Data Quality
Approaching Data Quality
 
Data-Ed: Data Architecture Requirements
Data-Ed: Data Architecture Requirements  Data-Ed: Data Architecture Requirements
Data-Ed: Data Architecture Requirements
 
The Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationThe Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: Collaboration
 
Data Strategy Best Practices
Data Strategy Best PracticesData Strategy Best Practices
Data Strategy Best Practices
 
Data-Ed Online: Data Architecture Requirements
Data-Ed Online: Data Architecture RequirementsData-Ed Online: Data Architecture Requirements
Data-Ed Online: Data Architecture Requirements
 
Slides: Moving from a Relational Model to NoSQL
Slides: Moving from a Relational Model to NoSQLSlides: Moving from a Relational Model to NoSQL
Slides: Moving from a Relational Model to NoSQL
 
Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?
 
A Year in Review - Building a Comprehensive Data Management Program
A Year in Review - Building a Comprehensive Data Management ProgramA Year in Review - Building a Comprehensive Data Management Program
A Year in Review - Building a Comprehensive Data Management Program
 
Why Data Modeling Is Fundamental
Why Data Modeling Is FundamentalWhy Data Modeling Is Fundamental
Why Data Modeling Is Fundamental
 
Emerging Trends in Data Architecture – What’s the Next Big Thing
Emerging Trends in Data Architecture – What’s the Next Big ThingEmerging Trends in Data Architecture – What’s the Next Big Thing
Emerging Trends in Data Architecture – What’s the Next Big Thing
 
Fasten you seatbelt and listen to the Data Steward
Fasten you seatbelt and listen to the Data StewardFasten you seatbelt and listen to the Data Steward
Fasten you seatbelt and listen to the Data Steward
 
DM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled ArchitectureDM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled Architecture
 
Data Management vs. Data Governance Program
Data Management vs. Data Governance ProgramData Management vs. Data Governance Program
Data Management vs. Data Governance Program
 
Data-Ed Online Webinar: Data Architecture Requirements
Data-Ed Online Webinar: Data Architecture RequirementsData-Ed Online Webinar: Data Architecture Requirements
Data-Ed Online Webinar: Data Architecture Requirements
 
SharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No CodeSharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No Code
 
DataEd Slides: Data Management + Data Strategy = Interoperability
DataEd Slides: Data Management + Data Strategy = InteroperabilityDataEd Slides: Data Management + Data Strategy = Interoperability
DataEd Slides: Data Management + Data Strategy = Interoperability
 
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
 
Showing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectShowing ROI for Your Analytic Project
Showing ROI for Your Analytic Project
 
ADV Slides: Data Pipelines in the Enterprise and Comparison
ADV Slides: Data Pipelines in the Enterprise and ComparisonADV Slides: Data Pipelines in the Enterprise and Comparison
ADV Slides: Data Pipelines in the Enterprise and Comparison
 

Viewers also liked

High Performance With Java
High Performance With JavaHigh Performance With Java
High Performance With Javamalduarte
 
Performance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersPerformance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersNLJUG
 
High Performance Web Design
High Performance Web DesignHigh Performance Web Design
High Performance Web DesignKoji Ishimoto
 
Java Performance
Java PerformanceJava Performance
Java PerformanceSSA KPI
 
Java Performance & Profiling
Java Performance & ProfilingJava Performance & Profiling
Java Performance & ProfilingIsuru Perera
 
Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016Peter Lawrey
 
Java Performance, Threading and Concurrent Data Structures
Java Performance, Threading and Concurrent Data StructuresJava Performance, Threading and Concurrent Data Structures
Java Performance, Threading and Concurrent Data StructuresHitendra Kumar
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdiPayara
 
SSO with the WSO2 Identity Server
SSO with the WSO2 Identity ServerSSO with the WSO2 Identity Server
SSO with the WSO2 Identity ServerWSO2
 
Practical Steps For Building High Performance Teams
Practical Steps For Building High Performance TeamsPractical Steps For Building High Performance Teams
Practical Steps For Building High Performance TeamsElijah Ezendu
 
High-performance Team Development
High-performance Team DevelopmentHigh-performance Team Development
High-performance Team DevelopmentPeter Pfeiffer
 
Leading High Performance Teams
Leading High Performance TeamsLeading High Performance Teams
Leading High Performance TeamsUbersoldat
 
WSO2 Identity Server 5.3.0 - Product Release Webinar
WSO2 Identity Server 5.3.0 - Product Release WebinarWSO2 Identity Server 5.3.0 - Product Release Webinar
WSO2 Identity Server 5.3.0 - Product Release WebinarWSO2
 
High Performance Java EE with JCache and CDI
High Performance Java EE with JCache and CDIHigh Performance Java EE with JCache and CDI
High Performance Java EE with JCache and CDIPayara
 
High Performance Flow Matching Architecture for Openflow Data Plane
High Performance Flow Matching Architecture for Openflow Data PlaneHigh Performance Flow Matching Architecture for Openflow Data Plane
High Performance Flow Matching Architecture for Openflow Data PlaneMahesh Dananjaya
 
SAML Protocol Overview
SAML Protocol OverviewSAML Protocol Overview
SAML Protocol OverviewMike Schwartz
 

Viewers also liked (20)

High Performance With Java
High Performance With JavaHigh Performance With Java
High Performance With Java
 
Optimizing Java Performance
Optimizing Java PerformanceOptimizing Java Performance
Optimizing Java Performance
 
Java performance
Java performanceJava performance
Java performance
 
Performance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersPerformance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen Borgers
 
High Performance Web Design
High Performance Web DesignHigh Performance Web Design
High Performance Web Design
 
Java Performance
Java PerformanceJava Performance
Java Performance
 
Java Performance & Profiling
Java Performance & ProfilingJava Performance & Profiling
Java Performance & Profiling
 
WSO2 Identity Server
WSO2 Identity ServerWSO2 Identity Server
WSO2 Identity Server
 
Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016
 
Java Performance, Threading and Concurrent Data Structures
Java Performance, Threading and Concurrent Data StructuresJava Performance, Threading and Concurrent Data Structures
Java Performance, Threading and Concurrent Data Structures
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdi
 
SSO with the WSO2 Identity Server
SSO with the WSO2 Identity ServerSSO with the WSO2 Identity Server
SSO with the WSO2 Identity Server
 
Practical Steps For Building High Performance Teams
Practical Steps For Building High Performance TeamsPractical Steps For Building High Performance Teams
Practical Steps For Building High Performance Teams
 
High-performance Team Development
High-performance Team DevelopmentHigh-performance Team Development
High-performance Team Development
 
Leading High Performance Teams
Leading High Performance TeamsLeading High Performance Teams
Leading High Performance Teams
 
WSO2 Identity Server 5.3.0 - Product Release Webinar
WSO2 Identity Server 5.3.0 - Product Release WebinarWSO2 Identity Server 5.3.0 - Product Release Webinar
WSO2 Identity Server 5.3.0 - Product Release Webinar
 
High Performance Java EE with JCache and CDI
High Performance Java EE with JCache and CDIHigh Performance Java EE with JCache and CDI
High Performance Java EE with JCache and CDI
 
SAML Smackdown
SAML SmackdownSAML Smackdown
SAML Smackdown
 
High Performance Flow Matching Architecture for Openflow Data Plane
High Performance Flow Matching Architecture for Openflow Data PlaneHigh Performance Flow Matching Architecture for Openflow Data Plane
High Performance Flow Matching Architecture for Openflow Data Plane
 
SAML Protocol Overview
SAML Protocol OverviewSAML Protocol Overview
SAML Protocol Overview
 

Similar to Creating High Performance Big Data Applications with the Java Persistence API

Big Data using NoSQL Technologies
Big Data using NoSQL TechnologiesBig Data using NoSQL Technologies
Big Data using NoSQL TechnologiesAmit Singh
 
Big Data and Enterprise Data - Oracle -1663869
Big Data and Enterprise Data - Oracle -1663869Big Data and Enterprise Data - Oracle -1663869
Big Data and Enterprise Data - Oracle -1663869Edgar Alejandro Villegas
 
Re-Engineering Databases using Meta-Programming Technology
Re-Engineering Databases using Meta-Programming TechnologyRe-Engineering Databases using Meta-Programming Technology
Re-Engineering Databases using Meta-Programming TechnologyGihan Wikramanayake
 
Force.Com Multitenancy
Force.Com MultitenancyForce.Com Multitenancy
Force.Com MultitenancyChrisbryan1975
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dmActian Corporation
 
How to add security in dataops and devops
How to add security in dataops and devopsHow to add security in dataops and devops
How to add security in dataops and devopsUlf Mattsson
 
Yii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIYii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIGeorge-Leonard Chetreanu
 
Ten Ways For DBA's To Save Time
Ten Ways For DBA's To Save TimeTen Ways For DBA's To Save Time
Ten Ways For DBA's To Save TimeMichael Findling
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06Jay van Zyl
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processEric Saraceno
 
Understanding Corporate Portals Key Knowledge Management Enabling Applications
Understanding Corporate Portals Key Knowledge Management Enabling ApplicationsUnderstanding Corporate Portals Key Knowledge Management Enabling Applications
Understanding Corporate Portals Key Knowledge Management Enabling ApplicationsJose Claudio Terra
 
Idc analyst report a new breed of servers for digital transformation
Idc analyst report a new breed of servers for digital transformationIdc analyst report a new breed of servers for digital transformation
Idc analyst report a new breed of servers for digital transformationKaizenlogcom
 
Ijaprr vol1-2-6-9naseer
Ijaprr vol1-2-6-9naseerIjaprr vol1-2-6-9naseer
Ijaprr vol1-2-6-9naseerijaprr
 
OPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT InfrastructuresOPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT InfrastructuresKangaroot
 
Understanding Corporate PortaIs Key Knowledge
Understanding Corporate PortaIs Key KnowledgeUnderstanding Corporate PortaIs Key Knowledge
Understanding Corporate PortaIs Key KnowledgeJose Claudio Terra
 
Introduction to CAAD Codeless Applications Development Methodology
Introduction to CAAD Codeless Applications Development MethodologyIntroduction to CAAD Codeless Applications Development Methodology
Introduction to CAAD Codeless Applications Development MethodologyNewton Day Uploads
 
flexpod_hadoop_cloudera
flexpod_hadoop_clouderaflexpod_hadoop_cloudera
flexpod_hadoop_clouderaPrem Jain
 
The Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) HadThe Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) HadDeborah Gastineau
 

Similar to Creating High Performance Big Data Applications with the Java Persistence API (20)

Big Data using NoSQL Technologies
Big Data using NoSQL TechnologiesBig Data using NoSQL Technologies
Big Data using NoSQL Technologies
 
Big Data and Enterprise Data - Oracle -1663869
Big Data and Enterprise Data - Oracle -1663869Big Data and Enterprise Data - Oracle -1663869
Big Data and Enterprise Data - Oracle -1663869
 
Re-Engineering Databases using Meta-Programming Technology
Re-Engineering Databases using Meta-Programming TechnologyRe-Engineering Databases using Meta-Programming Technology
Re-Engineering Databases using Meta-Programming Technology
 
Force.Com Multitenancy
Force.Com MultitenancyForce.Com Multitenancy
Force.Com Multitenancy
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dm
 
How to add security in dataops and devops
How to add security in dataops and devopsHow to add security in dataops and devops
How to add security in dataops and devops
 
Yii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIYii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YII
 
Ten Ways For DBA's To Save Time
Ten Ways For DBA's To Save TimeTen Ways For DBA's To Save Time
Ten Ways For DBA's To Save Time
 
Ten Ways For DBA's To Save Time
Ten Ways For DBA's To Save TimeTen Ways For DBA's To Save Time
Ten Ways For DBA's To Save Time
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
 
Understanding Corporate Portals Key Knowledge Management Enabling Applications
Understanding Corporate Portals Key Knowledge Management Enabling ApplicationsUnderstanding Corporate Portals Key Knowledge Management Enabling Applications
Understanding Corporate Portals Key Knowledge Management Enabling Applications
 
Idc analyst report a new breed of servers for digital transformation
Idc analyst report a new breed of servers for digital transformationIdc analyst report a new breed of servers for digital transformation
Idc analyst report a new breed of servers for digital transformation
 
Hadoop Does Not Equal Big Data
Hadoop Does Not Equal Big Data Hadoop Does Not Equal Big Data
Hadoop Does Not Equal Big Data
 
Ijaprr vol1-2-6-9naseer
Ijaprr vol1-2-6-9naseerIjaprr vol1-2-6-9naseer
Ijaprr vol1-2-6-9naseer
 
OPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT InfrastructuresOPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
 
Understanding Corporate PortaIs Key Knowledge
Understanding Corporate PortaIs Key KnowledgeUnderstanding Corporate PortaIs Key Knowledge
Understanding Corporate PortaIs Key Knowledge
 
Introduction to CAAD Codeless Applications Development Methodology
Introduction to CAAD Codeless Applications Development MethodologyIntroduction to CAAD Codeless Applications Development Methodology
Introduction to CAAD Codeless Applications Development Methodology
 
flexpod_hadoop_cloudera
flexpod_hadoop_clouderaflexpod_hadoop_cloudera
flexpod_hadoop_cloudera
 
The Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) HadThe Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) Had
 

More from DATAVERSITY

Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...DATAVERSITY
 
Data at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and GovernanceData at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and GovernanceDATAVERSITY
 
Exploring Levels of Data Literacy
Exploring Levels of Data LiteracyExploring Levels of Data Literacy
Exploring Levels of Data LiteracyDATAVERSITY
 
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsBuilding a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsDATAVERSITY
 
Make Data Work for You
Make Data Work for YouMake Data Work for You
Make Data Work for YouDATAVERSITY
 
Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?DATAVERSITY
 
Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?DATAVERSITY
 
Data Modeling Fundamentals
Data Modeling FundamentalsData Modeling Fundamentals
Data Modeling FundamentalsDATAVERSITY
 
Showing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectShowing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectDATAVERSITY
 
How a Semantic Layer Makes Data Mesh Work at Scale
How a Semantic Layer Makes  Data Mesh Work at ScaleHow a Semantic Layer Makes  Data Mesh Work at Scale
How a Semantic Layer Makes Data Mesh Work at ScaleDATAVERSITY
 
Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?DATAVERSITY
 
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...DATAVERSITY
 
Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?DATAVERSITY
 
Data Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and ForwardsData Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and ForwardsDATAVERSITY
 
Data Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement TodayData Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement TodayDATAVERSITY
 
2023 Trends in Enterprise Analytics
2023 Trends in Enterprise Analytics2023 Trends in Enterprise Analytics
2023 Trends in Enterprise AnalyticsDATAVERSITY
 
Data Strategy Best Practices
Data Strategy Best PracticesData Strategy Best Practices
Data Strategy Best PracticesDATAVERSITY
 
Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?DATAVERSITY
 
Data Management Best Practices
Data Management Best PracticesData Management Best Practices
Data Management Best PracticesDATAVERSITY
 
MLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive AdvantageMLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive AdvantageDATAVERSITY
 

More from DATAVERSITY (20)

Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
 
Data at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and GovernanceData at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and Governance
 
Exploring Levels of Data Literacy
Exploring Levels of Data LiteracyExploring Levels of Data Literacy
Exploring Levels of Data Literacy
 
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsBuilding a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business Goals
 
Make Data Work for You
Make Data Work for YouMake Data Work for You
Make Data Work for You
 
Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?
 
Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?
 
Data Modeling Fundamentals
Data Modeling FundamentalsData Modeling Fundamentals
Data Modeling Fundamentals
 
Showing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectShowing ROI for Your Analytic Project
Showing ROI for Your Analytic Project
 
How a Semantic Layer Makes Data Mesh Work at Scale
How a Semantic Layer Makes  Data Mesh Work at ScaleHow a Semantic Layer Makes  Data Mesh Work at Scale
How a Semantic Layer Makes Data Mesh Work at Scale
 
Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?
 
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
 
Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?
 
Data Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and ForwardsData Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and Forwards
 
Data Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement TodayData Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement Today
 
2023 Trends in Enterprise Analytics
2023 Trends in Enterprise Analytics2023 Trends in Enterprise Analytics
2023 Trends in Enterprise Analytics
 
Data Strategy Best Practices
Data Strategy Best PracticesData Strategy Best Practices
Data Strategy Best Practices
 
Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?
 
Data Management Best Practices
Data Management Best PracticesData Management Best Practices
Data Management Best Practices
 
MLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive AdvantageMLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive Advantage
 

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Creating High Performance Big Data Applications with the Java Persistence API

  • 1. WHITE PAPER CREATING HIGH PERFORMANCE BIG DATA APPLICATIONS WITH THE JAVA PERSISTENCE API By Dirk Bartels & Matthew Barker, Versant Corporation Sponsored by Versant Corporation Versant Corporation U.S. Headquarters 255 Shoreline Dr. Suite 450, Redwood City, CA 94065 www.versant.com  +1 650-232-2400
  • 2. EXECUTIVE SUMMARY THE CASE FOR BIG DATA APPLICATIONS Design for the Unexpected Data management has reached another inflection point. A new breed of applications is pushing traditional, mostly relational New applications must database management solutions (RDBMS) beyond their limits, consider many issues driven by an ever-growing mountain of data, ubiquitous access to that are closely related information, the consumerism of IT, cloud computing, mobile to data management: computing, and, last but not least, the hunger for smarter » Velocity, volume, applications. variety, scale and concurrency, domain These volumes of data are outgrowing advances in hardware model richness, the design, while simultaneously analytics applications are pushing for value to be derived faster, near-real-time capabilities to deliver on the promise of from it, and, critically, leveraging Big Data’s benefits. It becomes clear that data immensely dynamic management software must evolve rapidly to address these demands. changing requirements. But instead of following the “one size fits » Programming all” model of the past, a more prudent approach to this new era of standards play a vital data management is to consider more closely the specific role in enabling requirements of each application implementation and use the flexibility. information management system that best meets those demands. For example, it is critical to estimate the scale of the data problem and the level of complexity (or richness) of the domain (data) model, among other important aspects, in order to pick the right data management technology(ies) to get the job done. As we design these new types of applications, we must consider many issues that are closely related to data management: velocity, volume, variety, scale and concurrency, the richness of the domain models, and, critically, the value we want to derive from the data. But perhaps most importantly, these new requirements result in immensely dynamic demands, and designing applications to meet them also means planning for the unexpected. Applications built today must be able to easily add data sources, and integrate with other IT systems. Programming standards play a vital role in enabling this flexibility. Standards establish a stable and reliable baseline on which the market can build compliant tools and solutions. They allow developers to pick and choose the right vendor or tool for the project at hand without requiring the extra costs to learn new skills or techniques. About Big Data and Java Persistence API Page 2 of 11
  • 3. THE NEED FOR PROGRAMMING STANDARDS Programming Standards A programming standard helps to increase developer productivity and software quality. An established and widely adopted standard Increase allows companies and developers to invest in that standard through Developer training, education, and standard-compliant tools. For example, Productivity And SQL is a notable standard, and after its breakthrough nearly thirty Software Quality years ago a huge industry grew around it, creating a de facto database standard for today’s traditional enterprise applications. Software standards are created primarily in two Software standards are not typically established by committees, but ways: rather by the market itself. There are two dominant ways the » The sheer volume of market has created standards: supporters and users creates a critical 1. By sheer volume, companies like Microsoft (with Windows) mass that ensures and Apple (with iOS) have such dominance in their the technology’s particular segment that their technologies have become de place in the industry. facto standards. The sheer number of supporters of the » A number of leading technology - application developers and consumers buying technology vendors into the platform - creates the critical mass for a flourishing adopt the solution, ecosystem that ensures the technology’s longevity. effectively making it an open source 2. Other standards, such as SQL, and more recently Hadoop standard. and MapReduce, are created by having support from a number of vendors, therefore, reaching critical mass as an open system rather than a closed one. The Java Persistence API (JPA), much like SQL, is an open data management standard. Unlike the proprietary APIs being created by emerging NoSQL solution vendors, JPA is already part of a large ecosystem, and training, education and tool support are widely available. NoSQL products like Couch DB, Mongo DB, and Cassandra are facing an uphill battle to reach mainstream adoption and be attractive enough for third parties and developers to create an ecosystem for these systems. Their market is limited to early adopters, which tend to ignore the need for standards. And while NoSQL is a new, complementary-to-SQL method for data management, it is desirable to extend JPA to also become the NoSQL standard for Java. Why rely on a proprietary and less mature API if similar functionality can be had with an established standard? About Big Data and Java Persistence API Page 3 of 11
  • 4. INTRODUCTION TO JPA The Java programming language and its platforms, such as J2SE and J2EE, remain the undisputed leading platforms for enterprise application development. A large eco-system of tools, broad operating system support, and legions of skilled developers makes Java an excellent choice for enterprise application development. With the growing size and richness of enterprise applications, it is literally unmanageable to consider a large scale development project in Java without using a persistence programming framework to help manage the complexity of the underlying data management system. Today’s applications often require thousands of persistent models (or classes). Programming and maintaining a class separately from a database schema (for RDBMSs, tables, columns, indexes, and possibly further optimizations, such as stored procedures) without a higher level abstraction is no longer commercially feasible. Simply put, application models have become too rich to be managed at the relational level, and require a persistence framework to simplify development and implementation of the database layer. Part of the broader Java platform is the so-called Java Persistence API (JPA), an established de facto standard for the persistence layer between application and database. JPA has been widely adopted as the programming interface for RDBMSs, using implementations such as EclipseLink, Hibernate JPA, Open JPA, and others. Compared to the more basic JDBC 1 programming API, JPA offers a higher level of abstraction, and hides and encapsulates most of the tedious, error-prone code that would be necessary using JDBC to “map” Java classes to a relational database schema. The “assembly” and “disassembly” of objects from and to the database is mostly automated. This allows the developer to stay focused on its application domain and to significantly improve productivity. The JPA specification is maintained in the Java Community Process 2 (JCP). It originated from the open source tool Hibernate 3, one of the first and most successful object-to-relational mapping (ORM) technologies for Java, the Java Enterprise Beans (EJB) 3.0 persistence specification, and, most notably, the Java Data 1 JDBC is a Java-based data access technology (Java Standard Edition platform) from Sun Microsystems, Inc.. It is not an acronym as it is unofficially referred to as Java Database Connectivity 2 The JCP is the mechanism for developing standard technical specifications for Java technology. See jcp.org 3 Hibernate is an object-relational mapping (ORM) library for the Java language About Big Data and Java Persistence API Page 4 of 11
  • 5. Objects 4 (JDO) standard. The JDO specification was created by several object database experts who originally coined the notion of object persistence as a tight integration between the application and the database via a single, unified type system. With roots so NoSQL Delivers close to the fundamentals of database creation and Three Important standardization, JPA represents an amalgam of the following Functionalities philosophies to integrate database access into Java: » The simplicity of the The “pragmatic” Hibernate, born out of the necessity to Key:Value pair query overcome the impedance mismatch between an object oriented enables higher application and a relational database by mapping objects into a performance, but relational database, which quickly gained large developer only when the support. relative complexity of the meta data and query type is low The “dogmatic” EJB, born out of a specification to construct a true object system, which in the end proved to be too “heavy” » High partition and complicated to implement. Developers abandoned EJB tolerance provides persistence because they wanted to use so-called Plain Old added redundancy Java Objects (POJOs). and easy scale-out » High availability is The “pure objects” JDO, the most elegant and efficient extremely important specification, creating a single-type system to work with objects for the “always on” all the way from the application to the database tier. demands of today’s social media sites WHY NOSQL MATTERS At the same time, the changing requirements for data velocity, volume, concurrency, availability, and partition tolerance, to name just a few key issues, have inspired a new breed of data management systems, often referred to as NoSQL, or “Not only SQL”, databases. NoSQL databases represent a collection of database management tools that both implement a functional subset of what is known as a SQL database, and also introduce different functionality to address critical database needs for situations like web-scale applications, which are not readily available in SQL technologies. Some of the critical differentiators, requirements and capabilities of NoSQL are: KEY VALUE: NoSQL databases use a simple, one dimensional vector, also called a key, to retrieve data elements from the database. First generation NoSQL databases use this key often as the only means to retrieve data to avoid any overhead, such as those 4 Java Data Objects (JDO) is a standard way to access persistent data in databases, using plain old Java objects (POJO), see also http://db.apache.org/jdo/ About Big Data and Java Persistence API Page 5 of 11
  • 6. imposed by maintaining index structures. This is tolerable as long as the key is sufficient for data retrieval. However, for any other type of more complex query, or for looking into a sequential read of the entire data store, or maintaining additional structures outside of the key value store, initial NoSQL solutions become exponentially less efficient. The “reduction” to the simple key:value pair query is somewhat justified, though, as it does eliminate overhead, and therefore provides higher performance. But it also plays into other important NoSQL capabilities, such as Partition Tolerance (see below), which would be much harder to achieve with the more complex meta data and query capabilities typically found in SQL and other enterprise databases. PARTITION TOLERANCE: Another foundational ingredient to NoSQL is that it gives the developer simple ways to partition the data, and to add or split partitions without shutting down the entire database system, which is a key to NoSQL’s ability to provide High Availability (see below). Partitions are very important for designing and operating a seamless, horizontal scale-out architecture where new partitions can be added when the work load or the volume of data exceeds the capacity of the current cluster architecture. This is contrary to the design of traditional SQL databases, which often require an upfront calculation for storage, concurrency, and other important considerations that must be “wired” into its setup. Adding partitions can be a tedious process, often requiring that the database services be shut down to re-configure the setup and recreate indexes entirely, among other costly complications. AVAILABILITY: Like the other NoSQL capabilities above, Availability plays into the design, as well. Many Web-based applications and services, like eBay (e-Commerce) or Facebook (social media), simply cannot afford to ever go offline. So even if one partition or server goes down, the show must go on! Therefore, designing a horizontal, scale-out database cluster, where individual partitions can easily be replicated, stopped, or restarted provides a “softer and more elastic” architecture so that even if a partition fails, that failure does not affect the rest of the cluster. NoSQL’s simple key:value vector and Partition Tolerance enable this kind of architecture. EVENTUALLY CONSISTENT: All of the above benefits of simplification for the sake of scale and performance, however, come at a cost. SQL databases About Big Data and Java Persistence API Page 6 of 11
  • 7. offer ACID (Atomic, Consistent, Isolation, Durable) transactions, allowing the developer to put brackets around a series of database operations to enforce a consistent state of the data store, irrespective of programming failures, hardware failures, Pitfalls of or simple latency in updating the state. ACID transactions, Traditional JPA however, are typically not part of simple NoSQL databases. This lack of “assurance” in NoSQL’s core design disqualifies it and ORM from being suitable for certain applications that cannot live » Deep class without consistency, such as financial transaction applications. hierarchies often cause slow Such “dumbing down of the database” was born out of pure performance necessity. However, as these new applications grow in complexity » Changing the and size, they require more and more application code to work schema over time around NoSQL’s limitations. can be prohibitively time consuming Lastly, most NoSQL products are proprietary by nature. It is up to the application developer to fully understand their application’s » Many-to-many requirements and learn how to map those into the proprietary relationships in data models cannot be technology when evaluating NoSQL products. This is another key handled efficiently, reason why introducing JPA as an industry standard API for and present storage, NoSQL is so important. Without a standard, every implementation memory and will be vendor specific, choosing from best of breed solutions for processing specific application requirements, and switching from one NoSQL challenges solution to another will become expensive if not impossible. » JPA ORM does not scale well as BIG DATA APPLICATIONS, JPA, AND concurrent usage rises OBJECT-TO-RELATIONAL MAPPING JPA is a proven specification to develop traditional enterprise applications in Java. However, there are some well-known and well-documented short comings when using JPA as an object-to- relational mapping tool with rich data models: HANDLING DEEP CLASS HIERARCHIES: A deep class hierarchy presents problems for ORM tools even with the ease of annotations. Normalization dictates that each subclass be its own table (i.e. “one table per class”), but performance when using such mapping techniques can be prohibitively slow. Most developers collapse several classes into one “big table” that wastes space and makes it very difficult to find the optimal mapping within a deep hierarchy. SCHEMA VERSIONING: As it is already so difficult to execute optimal ORM with deep class hierarchies it becomes practically impossible to manage ORM as these data models inevitably evolve. Refactoring About Big Data and Java Persistence API Page 7 of 11
  • 8. ORM, testing for performance bottlenecks, and evolving table schema can become extremely cumbersome and time consuming. EFFICIENCY WITH MANY-TO-MANY RELATIONSHIPS: Many-to-many relationships present efficiency problems for JPA with ORM. With an ORM, the underlying RDBMS must create “intersection tables” to handle many-to-many relationships. This added burden requires more space, memory, and added load (i.e. additional JOINs) to create, maintain, and traverse these intersection tables. SCALING: JPA ORM scalability is relatively poor, as the necessary JOINs to obtain related data performs poorly both when data sets grow and when concurrent usage increases. Often times, additional indices are required just to allow efficient retrieval of related data, which further hampers update performance and increases the size of the database. These types of engineering and operational issues arise in development when code size, model complexity, and data volumes grow. And with Big Data applications, even small issues quickly become bigger challenges that carry an exponential impact on the overall performance, the scalability of the application, and operational costs. Expensive re-engineering is often required to replace automatic mapping code with manually-written code to optimize access patterns and de-normalize the mapping to reduce the number of JOIN operations, to name just a couple resolutions to common problems. Ultimately, these problems may eventually render the benefits of a standard API and the automatic ORM mapping useless, and the resulting code and relational schema becomes hard to manage and maintain again. INTRODUCING VERSANT JPA AND THE VERSANT NOSQL DATABASE: HOW VERSANT SUPPORTS THE NOSQL PARADIGM How can the NoSQL benefits and the apparent issues of ORM mapping in Big Rich Data applications be addressed? About Big Data and Java Persistence API Page 8 of 11
  • 9. KEY VALUE: As noted, a simple, direct vector into a large database can be very valuable, especially when the database gets partitioned and distributed. Versant supports the key:value paradigm with Logical Object Identifiers (LOID), a unique global identifier that programmers can use much like a pointer in the application program. Furthermore, Versant translates pointers gracefully and transparently, making it is easy to map even complex object hierarchies into the database, including all of the graph semantics, without incurring any overhead. PARTITION TOLERANCE: The Versant Object Database (VOD) offers a fully distributed model, allowing data that is managed on one or many servers to be partitioned in multiple databases, but still be connected when needed, for example, for a traversal from a parent object to a child object across partition boundaries. AVAILABILITY: With the right design, these database partitions can be managed individually without any impact on the overall availability of the database cluster a partition belongs to. Furthermore, partitions can be replicated via built-in, asynchronous replication features. CONSISTENCY: Last, but not least, VOD allows the programmer to selectively read from the database outside of transaction boundaries, allowing “dirty” reads of data that might not be entirely consistent. At the same time, Versant also provides a complete two-phase transaction protocol for distributed databases that can be switched on selectively and used to enforce data integrity and consistency when needed. USING AN OBJECT DATABASE WITH A NATIVE JPA LANGUAGE BINDING In addition to supporting critical NoSQL attributes that enables programmers to use VOD for Big Data applications and design a horizontal scale-out architecture, Versant provides a native JPA About Big Data and Java Persistence API Page 9 of 11
  • 10. implementation. Versant JPA has been proven in many scenarios to be up to 10 times more efficient, requiring much smaller database clusters and significantly lowering the total cost of ownership. TABLE 1 TABLE 1 AND TABLE 2 VOD outperforms the competition with mixed workloads – and scales the best with multiple threads TABLE 2 About Big Data and Java Persistence API Page 10 of 11
  • 11. Such high efficiency is accomplished through two key design characteristics: 1. Native binding means no JOINs: The most expensive operation in an RDBMS is a JOIN, which recreates a semantic relationship between two tables, for example, between an order table and an order item table. Each order item refers back to the order via the order number. In VOD, the reference is stored as a LOID, eliminating a large scan of an index structure to find all the associated data points to recreate the object (in this case, the order). The larger the database and the more complex the object structure, the more overhead is caused by performing JOINS. 2. No mapping: Similarly, a native object storage requires no mapping needed from the in-memory representation of data objects to the database representation. The database and the application “share” a single type system, resulting in a tremendous reduction in design and coding work, and, furthermore, requires less CPU cycles since nothing needs to be disassembled and re-assembled. THE SYNERGY OF JPA AND NOSQL The synergies of combining the JPA standard with NoSQL characteristics are profound. Combining them provides today’s enterprise developer with the tools needed to properly support their organization by building applications that speed time to market, raise productivity and flexibility, and reduce the total cost of ownership in operations. The formula is: JPA + NOSQL + VERSANT = BIG RICH DATA APPLICATIONS For more information on Versant JPA and the Versant Object Database, visit http://www.versant.com/products/Versant_Database_APIs.aspx . About Big Data and Java Persistence API Page 11 of 11