que era sólo piensa que ahora es común tener suficiente memoria RAM en el servidor de base de datos para almacenar en caché la base de datos completa ¿por qué el especialista en memory database (por ejemplo TimesTen, consulta Wikipedia page) que estaban de moda hace unos años no se siendo usado más?¿Cuándo debería considerar usar una base de datos en la memoria y cuál es el problema a tener en cuenta?
Parece que a medida que pasa el tiempo, ninguna base de datos basada en disco se utiliza con menos frecuencia, por ejemplo, la mayoría de las aplicaciones ahora se basan en bases de datos racionales convencionales. Hubiera esperado lo contrario ya que la RAM se está acercando a ser gratuita para muchos servidores.
estoy pidiendo esto, como acabo de leer sobre la pila de desbordamiento de la arquitectura y la página dice
Esto es significativo porque la base de datos Pila de desbordamiento es casi por completo en la memoria RAM y la une todavía un costo muy alto.
Pero no creo que esto suponga un problema si se usan "punteros" y "colecciones" en lugar del btree normal. Btree es muy inteligente para sortear los límites de la velocidad de acceso al disco, por ejemplo, intercambian el uso de la CPU para reducir el uso del disco. Sin embargo, ahora tenemos tan coincidir ram.
Pero todavía tenemos la base de datos, como hacer su propio
- bloqueo
- detección de estancamiento
- el registro de transacciones
- recuperando
- Etc
es muy difícil.
@ S.Lott, dado que todos pasamos tanto tiempo eligiendo índices, evitando uniones e investigando los problemas de rendimiento de la base de datos. Debe haber una mejor manera. Hace unos años nos dijeron que "en las bases de datos de la memoria" era la mejor manera. Entonces, antes de saltar a usar uno, me gustaría saber por qué otras personas no los usan más.
(soy poco probable que utilice TimesTen mismo, ya que tiene un precio alto ($41,500.00/Processor) y no me gusta hablar con la gente de ventas de Oracle - Yo prefiero pasar mi tiempo de escribir código.)
Ver también:
- Alternative to the TimesTen in memory database
- Has anyone published a detailed comparison between different in-memory RDBMSs?
Actualización:
hice esta pregunta hace un tiempo LARGO, en estos días de Microsoft SQL Server tienen "In-Memory OLTP" que es un motor de base de datos de la memoria optimizada integrado en el motor de SQL Server. No es barato, pero parece ser muy rápido para algunas cargas de trabajo.
"not being used more?" ¿Más que qué? ¿Tiene algunas métricas o números o encuestas? No entiendo la pregunta. ¿Tiene un ejemplo específico donde se debería usar pero no es así? ¿O es solo un tema de discusión? ¿Qué necesita saber? ¿Qué problema de programación tienes? –
memoria suficiente?Incluso las aplicaciones más pequeñas usan fácilmente 100 GB de espacio en disco. Raramente trabajo con servidores que tienen tanta memoria disponible para una sola aplicación. –