-
Notifications
You must be signed in to change notification settings - Fork 233
Kundera with Kudu
NOTE: This will be available in upcoming Kundera 3.4. Till then, it can be built from trunk.
Kudu is a columnar storage manager developed for the Hadoop platform. Kudu shares the common technical properties of Hadoop ecosystem applications: it runs on commodity hardware, is horizontally scalable, and supports highly available operation.
Kudu tables have a structured data model similar to tables in a traditional RDBMS. This new open source complement to HDFS and Apache HBase is designed to fill gaps in Hadoop’s storage layer that have given rise to stitched-together, hybrid architectures.
Being a JPA provider, Kundera provides support for Kudu. Kundera maps JPA Entity with Kudu Table.
To use it, user needs to add the following dependency in pom.xml:
<dependency>
<groupId>com.impetus.kundera.client</groupId>
<artifactId>kundera-kudu</artifactId>
<version>${kundera.version}</version>
</dependency>
<persistence-unit name="kudu_pu">
<provider>com.impetus.kundera.KunderaPersistence</provider>
<properties>
<property name="kundera.nodes" value="quickstart.cloudera" />
<property name="kundera.port" value="7051" />
<property name="kundera.client" value="kudu" />
<property name="kundera.client.lookup.class" value="com.impetus.kudu.client.KuduDBClientFactory" />
</properties>
</persistence-unit>
-
CRUD
-
User can Create, Read, Update and Delete data in Kudu Table using Kundera. Refer test-case.
-
Basic Select Queries
-
User can perform basic SELECT queries with
WHERE
clause. Refer test-case. -
Schema Generation
-
User can automatically generate schema by using
kundera.ddl.auto.prepare
property in Persistence Unit. Check Schema-Generation for more details.
#Limitation:
- CRUD on simple entities (without relationships, inheritance, embeddable) is possible.
- Only select Queries are allowed with
WHERE
clauses. - Only
AND
operator can be used inWHERE
clause.
-
Datastores Supported
- Releases
-
Architecture
-
Concepts
-
Getting Started in 5 minutes
-
Features
- Object Mapper
- Polyglot Persistence
- Queries Support
- JPQL (JPA Query Language)
- Native Queries
- Batch insert update
- Schema Generation
- Primary Key Auto generation
- Transaction Management
- REST Based Access
- Geospatial Persistence and Queries
- Graph Database Support
-
Composite Keys
-
No hard annotation for schema
-
Support for Mapped superclass
-
Object to NoSQL Data Mapping
-
Cassandra's User Defined Types and Indexes on Collections
-
Support for aggregation
- Scalar Queries over Cassandra
- Connection pooling using Kundera Cassandra
- Configuration
-
Kundera with Couchdb
-
Kundera with Elasticsearch
-
Kundera with HBase
-
Kundera with Kudu
-
Kundera with RethinkDB
-
Kundera with MongoDB
-
Kundera with OracleNoSQL
-
Kundera with Redis
-
Kundera with Spark
-
Extend Kundera
- Sample Codes and Examples
-
Blogs and Articles
-
Tutorials
* Kundera with Openshift
* Kundera with Play Framework
* Kundera with GWT
* Kundera with JBoss
* Kundera with Spring
-
Performance
-
Troubleshooting
-
FAQ
- Production deployments
- Feedback