2012-02-12 11 views
9

Me preguntaba si hay algún lenguaje estándar o API para acceder a bases de datos NoSQL (o al menos BigData o Column store).¿Existe una API estándar emergente para bases de datos NoSQL?

¿O tiene que aprender el idioma específico del dominio para la contribución de cada proveedor?

+1

Espero que la gente no cierre esta pregunta. Realmente solo quiero saber si hay alguna API unificada? ¿No estoy seguro de por qué eso sería considerado contencioso? –

+0

Al igual que en las capas de abstracción agnóstica de la base de datos como PDO para PHP? No estoy seguro de cuál sería el estándar para NoSQL, excepto 'No SQL'. – mrlee

+1

Me puede estar perdiendo el punto de desbordamiento de pila: ¿por qué esta pregunta es controvertida y hay un foro mejor para esta consulta? Estoy tratando de investigar NoSQL para un artículo, y creo que esta es una pregunta muy relevante. –

Respuesta

2

La base de datos relacional tiene el lenguaje SQL.

Las bases de datos NoSQL son de tipos diferentes: gráfico, columnas, documento. valor clave, etc.

Todos son específicos para el manejo. Tal vez un tipo podría tener un lenguaje unificado, pero entre ellos, eso no sería tan natural. Entonces sí, debes usar/aprender la API para cada tipo.

En otro nivel, si usa Java como lenguaje de programación, puede usar datos de primavera que proponen un conjunto de bibliotecas para acceder a esas bases de datos. No lo usé, pero con él podrás comparar las API entre los diferentes tipos de bases de datos con bastante facilidad.

entonces usted tiene esta pregunta que parece estar bien relacionados con el suyo: Are there any NoSQL standards emerging?

+0

Tiene sentido que las bases de datos Graph no tengan la misma API que Columnar, pero ¿qué pasa con HBase vs. Cassandra? –

2

vi 2 iniciativas cuyo objetivo es proporcionar una interfaz unificada para toda NoSQL DB. Uno es UnQL que proporciona una interfaz similar a SQL DML.

La otra es Apache Thrift, que proporciona una forma neutral de idioma para describir e implementar consultas.

3

Uno uno potencialmente interesante es AppScale que proporciona una API unificada para HBase, Hypertable, MySQL Cluster, Cassandra, Voldemort, MongoDB, MemcacheDB y Redis. La API está definida por Google para Google App Engine y está disponible para Java, Python y Go.

+0

Ah, y si está utilizando la API de Google App Engine en Java, debe consultar Objectify https://code.google.com/p/objectify-appengine/ – mjaggard

Cuestiones relacionadas