/ / NoSQL DB escrito en Ruby? - ruby, base de datos, nosql

NoSQL DB escrito en Ruby? - ruby, base de datos, nosql

Era curioso, pero ¿hay algún DBMS NoSQL escrito en Ruby?

Y si no, ¿no sería prudente crear uno en Ruby?

Respuestas

4 para la respuesta № 1

Era curioso, pero ¿hay algún DBMS NoSQL escrito en Ruby?

En 2007, Anthony Eden jugado con RDDB, una base de datos orientada a documentos inspirada en CouchDB. El aun mantiene una copia del código en su cuenta de GitHub.

Recuerdo vagamente que, más o menos al mismo tiempo, alguien más también estaba jugando con una base de datos en Ruby. Creo que fue inspirado o una reacción a RDDB.

Por último, pero no menos importante, está el Biblioteca PStore en stdlib, que, según su definición, puede o no contar como una base de datos.

Y si no, ¿no sería prudente crear uno en Ruby?

El mayor problema que veo en Ruby son sus primitivas de concurrencia. Los hilos y las cerraduras son asi que 1960. Si desea admitir múltiples usuarios simultáneos, entonces obviamente necesita concurrencia, aunque si desea construir una base de datos integrada en el proceso, esto es mucho menos preocupante.

Aparte de eso, hay algunos no tan estelaresimplementaciones de Ruby, pero eso no es una limitación de Ruby sino de esas implementaciones particulares, y se aplica a prácticamente cualquier otro lenguaje de programación también. Rubinius (especialmente el tronco de desarrollo actual, que agrega compatibilidad con Ruby 1.9 y elimina el bloqueo global del intérprete) y JRuby serían buenas opciones.

Como una ventaja adicional, Rubinius viene con una biblioteca de actores incorporada para la concurrencia y JRuby le da acceso a, p. Las bibliotecas de concurrencia de Clojure o la biblioteca de actores de Akka.

El rendimiento no es realmente una gran preocupación, creo. Rubinius Hash La clase, que está escrita en Ruby 100% puro, tiene un rendimiento comparable al de YARV Hash clase, que está escrita en C. 100% optimizado a mano Esto le muestra que el código Ruby, al menos cuando está escrito cuidadosamente, puede ser tan rápido como C, especialmente porque las bases de datos tienden a ser de larga duración y, por lo tanto, a Rubinius "s o JRuby" (y en este último caso específicamente también Optimizadores dinámicos de JVM (que los compiladores de C suelen hacer no puede tener De Verdad Ponte a trabajar.


0 para la respuesta № 2

Ruby es demasiado lento para cualquier tipo de DBMS

c / c ++ / erlang son generalmente la mejor opción.


0 para la respuesta № 3

En general, no debería importarle en qué lenguaje de programación se implementó un DBMS siempre que tenga todas las características y esté disponible para su uso desde el lenguaje de programación de su elección.

Entonces, la verdadera pregunta aquí es si necesita uno escrito en Ruby o disponible para usar en Ruby.

En el primer caso, dudo que encuentres un DBMS nativamente escrito en Ruby (cualquier corrección de esta declaración será apreciada).

En el segundo caso, debería poder encontrar enlaces / envoltorios de Ruby para cualquier DBMS relacional decente o no.