2010-07-15 16 views
8

Ich frage mich nur, ob es irgendwelche JDBC-Implementierungen (in gewissem Maße, so viel wie möglich) für jede NoSql DB (Opensource oder proprietäre) gibt?Gibt es JDBC-Implementierungen für NoSql-Datenbanken?

Wie denken Sie, ist es möglich, dass diese Implementierung so gute Leistung als rohe API der entsprechenden NoSql DB zeigt?

Welche Teile können nicht implementiert werden (Transaktionen? CallableStatements? Etc)?

+0

Warum wurde das geschlossen? Dies ist eine vollkommen gültige Frage. – Tiago

Antwort

12

SQL-basierte DBs haben mehr gemeinsam als andere. JDBC baut auf diesen Gemeinsamkeiten auf. Wenn Sie SQL wegnehmen, ist der Großteil der Gründe für JDBC weg! Außerdem haben NoSQL DBs ziemlich unterschiedliche APIs ... es gibt kaum etwas, das unter einer gemeinsamen Methode erfasst werden kann.

Kurze Antwort: Nein.

+1

Es dauerte fast ein halbes Jahr, um festzustellen, dass Sie wahrscheinlich Recht haben. – Roman

+0

@Roman: Hehe! Danke trotzdem für die späte Bestätigung. :) –

4

Ja für MongoDB gibt es mehrere lib verfügbar viel wie JDBC, JPA. Verwenden Sie diese link Ich habe eine Testanwendung und ich fand, dass die Leistung der MongoDB ist viel besser als MySQL bei der Durchführung von Masseneinfügungen und Abrufen großer Anzahl von Datensätzen.

Wenn Sie einen NoSQL-Datenspeicher in Erwägung ziehen, würde ich MongoDB empfehlen.

+0

+1 Der Link, den ich gesucht habe! Alles, was ich über Mongo wissen muss, danke, mein Herr! – gmustudent

2

Was SUN damals getan hat, war, abstrakte Spezifikationen für alle relationalen Datenbanksysteme zu erstellen, so dass Java-Entwickler mit ihnen alle problemlos arbeiten können, vorausgesetzt die Anbieter erstellen Implementierungen. Das ist, was JDBC ist. Eine abstrakte Front für relationale Datenbanken.

NoSQl ist nicht relational und es wird eine Art von NoSQL Connectivity Framework geben, die wahrscheinlich von Oracle geführt wird, so dass alle NoSQL-Datenbank-Anbieter frei implementieren können und Java-Entwicklern Zugang über eine gemeinsame Basis ermöglichen.