Pregunta

Así que he estado usando Smalltalk durante unos 6 meses (Squeak y Pharo), todo haciendo análisis de datos, y estoy a punto de comenzar mi primera aplicación Mar. Así que mi pregunta a todos ustedes por ahí Smalltalkers es, ¿cuál es su solución persistencia favorito? He estado buscando en Magma, bienes y GLORP. Soy un hacker pitón desde hace mucho tiempo, por lo que obtener ORM, pero parece que Magma o mercancías sería una mejor solución, ya que parecen orientado a objetos.

Una nota rápida: Quiero escalar mi aplicación a través de múltiples VM, por lo que acaba de guardar los datos de la imagen suele trabajar realmente

.

Gracias!

¿Fue útil?

Solución

Si desea escalar a través de varias máquinas virtuales, es posible que desee echar un vistazo a GemStone / S .

Tenga en cuenta, sin embargo, que la piedra preciosa es un propietario, producto comercial . Por lo tanto, tienen que pagar por ello. Sin embargo, el modelo de precios está diseñado generalmente de tal manera, que si necesidad una edición más grande, entonces por lo general, también tienen los usuarios a pago para esa edición. Los precios comienzan en $ 0 para el / la versión 4 de la CPU disco GiByte 1 GiByte RAM / 1.

Otra cosa a destacar es que la piedra preciosa Smalltalk es su propio dialecto, por lo que su código de Squeak, probablemente no se ejecutará sin modificar, pero debería ser bastante fácil de portar. (Por ejemplo, los ingenieros GemStone han creado un adaptador que le permite cargar Monticello (sistema de control de versiones de Squeak) paquetes en GemStone / S, por lo general, también se aseguran de que Mar corre.)

Por lo tanto, lo que es la piedra preciosa? Básicamente, se trata de una máquina virtual distribuido con la persistencia de objetos automático. Es más fácil de explicar en comparación con un Smalltalk VM normal. Si tiene dos Smalltalk máquinas virtuales de lado a lado en funcionamiento, cada uno de ellos tiene su propia memoria relacionada con objetos (es decir, el que maneja el recolector de basura). Y que es objeto de memoria en la memoria RAM. En la piedra preciosa, todas las máquinas virtuales en un clúster comparten el mismo Memoria Objeto y que vive en el disco, no en la memoria RAM. Por lo tanto, no lo hace necesidad una base de datos, ni siquiera un uno, porque los objetos son "justo allí", en todas partes, orientado a objetos todo el tiempo.

(Eso es sólo una descripción muy simplista. Por ejemplo, el montón no es realmente compartidos a través de las máquinas virtuales. Eso no tendría sentido, que no le gustaría replicar cada objeto temporal se crea a través de la red. en su lugar, usted tiene un objeto de depósito global (básicamente, un diccionario) y al igual que el recolector de basura comenzará en algún objeto raíz conocida y luego mantener todos los objetos que son accesibles a partir de ahí, y eliminar los que no están , piedra preciosa se iniciará en el objeto de repositorio mundial, y persistir / replicar solamente los objetos que son accesibles a partir de ahí.)

GemStone también tiene características de base de datos-ish, por lo que el acceso al repositorio mundial está envuelto en transacciones ACID, y hay una SQL-inspirado, pero el lenguaje de consulta Smalltalkish.

GemStone tiene un buen aparato que ellos llaman " VIDRIO " (de piedra preciosa, Linux, Apache, Mar y Smalltalk) análoga a la conocida "lámpara" (Linux, Apache, MySQL y PHP). VIDRIO incluye la edición gratis de la piedra preciosa con Mar preinstalado y la configuración de todo con Apache que se ejecuta en la parte superior de Xubuntu, todo perfectamente empaquetado una imagen de disco en VMWare.

Otros consejos

VIDRIO solo no ayuda a dar una visión general sobre sus datos. SandstoneDB hace. Puede utilizar SandstoneDB con ambos bienes y vidrio, (o incluso solo), dependiendo de la cantidad de dinero que desea gastar (arenisca es gratuita en todos los sentidos, el vidrio es comercial, pero libre como la cerveza libre para pequeñas instalaciones).

la página sandstoneDB . Y aquí está el adaptador para las mercancías . Para utilizar SandstoneDB con vidrio, simplemente cambie la tienda a SDMemoryStore, ver los comentarios de la clase en SDMemoryStore en SandstoneDB.

Si se puede elegir, yo también elegir vidrio o Magma (que depende de lo grande que es el proyecto).

Tenga en cuenta que Glorp en Squeak sólo funciona con PostgreSQL. Desarrollamos SqueakDBX que es un controlador de base de datos para comunicarse con la mayoría de las bases de datos. Ahora estamos modificando Glorp de manera que se puede usar con todos ellos (no sólo PostgreSQL). Pero esto no será hasta finales de este año.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top