¿Las bases de datos orientadas a objetos aún están en uso?

votos
16

Hace bastante tiempo, escuché acerca de las bases de datos Object. Concepto fresco y todo. Ahora, con el evento de ORM en todas partes, ¿alguien todavía usa alguno de los sistemas de bases de datos orientadas a objetos? ¿Son relevantes? ¿Son prácticos?

Publicado el 09/12/2008 a las 17:00
fuente por usuario
En otros idiomas...                            


10 respuestas

votos
11

Las bases de datos OO nunca salieron de un nicho de mercado. Son buenos para algunas aplicaciones, donde la estructura de datos se presta a ser representada por un gráfico de objetos, pero nunca tuvieron la ventaja convincente sobre un RDBMS para cruzar el abismo. La ventaja clave que se promociona para los productos OODBMS es la estrecha integración con el lenguaje de host: no hay desajuste de impedancia de objeto / relacional.

Sin embargo, todavía hay varios proveedores de OODBMS como Gemstone , Versant o Cardinal que están funcionando bastante bien con sus productos. La tecnología es útil para algunos tipos de estructuras de datos y puede ser más eficiente que un RDBMS, pero tiende a ser débil para consultas ad-hoc en comparación con los dialectos SQL modernos.

Como varios otros han notado, Gemstone está recibiendo un poco de atención debido a su soporte para Seaside y Maglev (un puerto de Ruby para Gemstone VM con Rails corriendo sobre él). Podemos encontrar que esto le da un poco de aprecio a la buena gente de Gemstone y con un poco más de atención al paradigma OODBMS.

Respondida el 09/12/2008 a las 17:55
fuente por usuario

votos
7

De hecho, los sistemas de bases de datos son una de las áreas en las que los cambios fundamentales son realmente difíciles. Miles de millones de dólares se gastan en sistemas de bases de datos relacionales y funcionan bastante bien.

En la vida real, eso simplemente no es verdad. Una razón importante para nuestros problemas con las bases de datos (vi que el 30% de todas las filas de bases de datos contienen errores) es el uso de tipado y validación muy primitivos en SQL. Además, a pesar de que se denominan relacionales, son muy malos en el manejo de las relaciones. El resultado es modelos de datos desnormalizados y errores de actualización resultantes.

La razón por la cual a las empresas les gustan las bases de datos relacionales es porque son muy predecibles. Tienen que gastar una gran cantidad de dinero en ellos, necesitan una gran cantidad de desarrolladores y mantenimiento haciendo trabajos rutinarios. No ven la cantidad de duplicación que podría eliminarse como una ventaja. El trabajo de rutina permite a los desarrolladores absorber los riesgos del trabajo difícil. Cambiar a un OODB mantendría el trabajo menos predecible.

Respondida el 11/12/2008 a las 13:30
fuente por usuario

votos
4

Empecé a usar Gemstone recientemente. GLASS (Gemstone en Linux (u OS-X) con Seaside (framework web smalltalk)) es probablemente el mejor entorno de desarrollo web para aplicaciones complejas. Smalltalk está haciendo un avivamiento, siendo "el rubí real".

El soporte para cambios y consultas de esquema es muy superior al de RDBMS.

Una diferencia importante es que esta vez son asequibles.

Respondida el 09/12/2008 a las 18:58
fuente por usuario

votos
4

De hecho, los sistemas de bases de datos son una de las áreas en las que los cambios fundamentales son realmente difíciles. Miles de millones de dólares se gastan en sistemas de bases de datos relacionales y funcionan bastante bien. Son tecnología comprobada y han sido lo suficientemente flexibles como para satisfacer la mayoría de las necesidades (utilizando ORM por ejemplo, como usted dijo). Las bases de datos de objetos existen en realidad, incluso fuera de la academia. Pero no espere ver algo tan grande como SQL Server u Oracle en esa área en el corto plazo. Existen como una teoría y como pequeñas bases de datos específicas de aplicaciones y varios productos. Básicamente, predigo que las bases de datos relacionales estarán más orientadas a objetos en el futuro para manejar mejor los requisitos.

Respondida el 09/12/2008 a las 17:10
fuente por usuario

votos
4

Echa un vistazo a db4o .

Respondida el 09/12/2008 a las 17:09
fuente por usuario

votos
3

Porque el costo de su software no es tan fácil de descubrir.

Revisé Objectivity, db4o, versant, y ninguno de ellos tiene el precio del software en su sitio web.

Ya casi perdí interés solo por eso.

¿Alguien sabe en algún lugar donde hay una comparación de precios y licencias de todos estos oodbs diferentes?

Respondida el 03/09/2009 a las 08:01
fuente por usuario

votos
3

Utilizamos la Base de datos de objetos Versant en el producto en el que trabajo. (Anteriormente FastObjects, anteriormente base de datos Poet). Es una base de datos de objetos y encontramos que funciona mucho mejor que un modelo relacional para algunos aspectos de nuestro producto, principalmente almacenando objetos de configuración, interconectados con el código de Java.

Ver también esta pregunta previamente hecha: https://stackoverflow.com/questions/52144/object-oriented-database-experiences

Respondida el 09/12/2008 a las 17:04
fuente por usuario

votos
2

Usando GemStone para una aplicación comercial grande. Es genial y es muy práctico. Lo hemos usado durante varios años y durante ese tiempo nos ha permitido hacer muchas cosas con muy pocos recursos. Lamentablemente, existen y han existido numerosos conceptos erróneos sobre las bases de datos de objetos y creo que esto los hace menos relevantes en el mundo de los negocios. Esperemos que algo como GLASS (GemStone, Linux y Seaside Smalltalk) cambie el futuro.

Respondida el 09/12/2008 a las 23:39
fuente por usuario

votos
1

Base de datos de objetos es un concepto fresco hasta ahora. Sin embargo, las implementaciones se plaqued con problemas de escalabilidad y estabilidad. Ahora, con la encarnación del derecho que se ocupa de estas dos bestias, la ecuación puede cambiar.

Lo que pensé es, un motor de datos (no necesariamente objeto de base) y RDBMS puede realmente lado a lado en vivo, de hecho, no es un gran lugar para un motor de datos en el nivel medio, las aplicaciones incrustadas / sistemas, ... También , una implementación correcta de un motor de datos permitirá que soporte tanto para la persistencia de objetos a un bajo nivel y en el nivel superior, RDBMS construcciones / SQL. Esto significa que su aplicación puede elegir trabajar con objetos, utilizar el motor de datos para la persistencia de objetos y hacer que los objetos disponibles como filas / columnas de una tabla a través de una interfaz de RDBMS.

Esta es la configuración ideal. Podemos Conectar las dos tecnologías y ofrecer alternativas a los desarrolladores para programar en su interfaz preferida. Se podría argumentar que tenemos esto ahora, por ejemplo - SQL Server tiene soporte para alojar CLR objetos, pero las implementaciones actuales padecen de desaceleración impedancia. es decir, - en la ruta de datos es una gran cantidad de conversiones / traducciones como objetos = dos datos dimensionales, por lo tanto cuando su aplicación que se ocupa de objetos los guarda en base de datos, la solución tiene que convertir / traducirlos a la fila de datos en una tabla!.

PERO si invertimos la situación, es decir, - el motor de datos opera sobre objetos entonces no habrá ninguna diferencia de impedancia. La adición de dos proyecciones de datos dimensionales no es más que la aplicación de una interfaz de Colección Objecct, por tanto, no hay realmente ninguna asignación / traducción que se produce cuando los objetos se exponen como filas de datos de una tabla. Esta es mi teoría.

Por lo tanto, tal vez la próxima ola de la tecnología en esta área es un motor de datos que permitirá a los objetos como interfaz de bajo nivel y la interfaz de RDBMS sentado encima de él. Y esta tecnología está disponible ahora!

B-árbol de oro versión 4.0 Persistencia de objetos escalable tiene esto como su principal objetivo de diseño. Se logra las siguientes características y por lo tanto, está bien adaptada para ser el motor de datos de elección para la siguiente RDBMS, que básicamente es una capa en la parte superior de la misma. Dos de sus principales puntos clave son: Escalabilidad: 100 millones de Insertos en 17 hrs en un ordenador portátil ordinario / promedio equipada. Estabilidad: Transacción de la fuerza industrial que garantice DB no está dañado y puede revertir a un estado previamente cometido.

Para que esto funcione, el motor de datos tiene que cumplir con la escalabilidad y la estabilidad requerida por los servidores RDBMS. Una tarea muy difícil, pero no imposible. B-Tree versión Gold 4.0 SOP ha cumplido con este requisito, por lo tanto, estamos realmente listos para implementar este tipo de solución, sin realmente empujando bajo nuestro cuello como SOP le da la libertad de elegir cómo desea utilizarlo. Se puede utilizar en muchas maneras, por ejemplo - que complementa RDBMS servidores como estación de almacenamiento en caché de nivel medio, incrustado DB en el lado del cliente, etc ... por no hablar de ser el motor de datos de bajo nivel del propio servidor RDBMS!

Respondida el 16/07/2010 a las 08:24
fuente por usuario

votos
0

Al menos desde mi punto de vista, están prácticamente muertos. Pero nuevamente estoy trabajando principalmente en software comercial. Tal vez en áreas académicas todavía están en uso en alguna parte.

Respondida el 09/12/2008 a las 17:03
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more