Quiero fragmentar mi base de datos, pero no soy profesional en este tema. Así que aquí están mis consideraciones. Aunque la clave de fragmentación es un excelente índice para dirigir las solicitudes a los nodos correctos, ¿qué pasa con el resto de los índices que se definirán en mis tablas? Deseo que las solicitudes que hacen referencia a esos índices se entreguen también a los nodos correctos, de modo que solo un nodo procese la solicitud. Por lo que entiendo para este propósito, deben existir algunos nodos de índice centralizados. Entonces mi pregunta es si esta funcionalidad ya está presente en RDBMS como MYSQL o debería usar otros productos especiales.Sharding e índices
Respuesta
responsabilidad: yo trabajo para ScaleBase, vivo y la respiración sharding todos los días ...
Yo aconsejaría aquí que si Fragmento de acuerdo a la columna A, por ejemplo, una columna con DONDE = xx va a ir a una solo shrad. DONDE columnB = xx tendrá que ir todos los fragmentos porque puede haber columnB = xx en todos ellos. A menos que columnA y columnB estén relacionados. Y entonces realmente necesita guardar la relación en una tabla de mapeo. Puedo decir que ejecutar todas las bases de datos puede ser súper rápido, necesita ejecutar en paralelo y fusionar resultados. En ScaleBase que permite la combinación de ORDER BY, GROUP BY, etc. No es fácil ...
Hey ver más información en mi blog: http://database-scalability.blogspot.com
Andrei, lo que usted está describiendo es exactamente cómo funciona la base de datos, donde Clustrix los datos y los índices se distribuyen automáticamente, luego las consultas se distribuyen entre los nodos. Clustrix "brings the query to the data" y tiene una arquitectura de nada compartido (por lo que no se necesita un índice centralizado). MySQL no tiene ninguna funcionalidad incorporada para computación distribuida, y si bien hay varias opciones de conexión, finalmente encontrarán límites de escala cuando se tocan los límites de los recursos centralizados.
- 1. Índices múltiples e individuales
- 2. UILocalizedIndexedCollation e índices no ingleses
- 3. clave primaria compuesta e índices adicionales
- 4. Redis en Heroku Sharding
- 5. Auto sharding postgresql?
- 6. Sharding y transacciones con MySQL
- 7. Uso de elementos de lista e índices juntos
- 8. Cómo ver los objetos e índices git sin usar git
- 9. Sharding por ObjectID, ¿es el camino correcto?
- 10. Sharding en el nivel de aplicación
- 11. MySQL Partitioning/Sharding/Splitting: ¿qué camino tomar?
- 12. NHibernate con Sql Azure y Sharding
- 13. Mongodb, sharding y múltiples servicios de Windows
- 14. redis sharding, pipelining y round-trips
- 15. Redis replication y redis sharding (clúster) diferencia
- 16. replicación mongoDB + sharding en 2 servidores razonable?
- 17. MongoDB sharding, ¿cómo se equilibra al agregar nuevos nodos?
- 18. Mongo sharding no puede dividir una gran colección entre fragmentos
- 19. Bibliotecas para partición de hash/Sharding con JPA
- 20. comparar dos listas en python e índices de devolución de valores coincidentes
- 21. ¿Bloqueo de filas en MySql InnoDb con restricciones de clave externa e índices aplicados?
- 22. Cocoa NSIndexSet: Índices múltiples. ¿Cómo crear el conjunto de índices, múltiples índices?
- 23. Índices múltiples frente a índices de varias columnas
- 24. índices de texto frente a índices enteros en mysql
- 25. Índices MySQL FULLTEXT número
- 26. Demasiados índices en RavenDB
- 27. índices MongoDB para $ elemMatch
- 28. índices Agregando gerrund tablas
- 29. Grails múltiples columnas índices
- 30. Índices agrupados SQL Server
Sí, esto es lo que no entiendo. Si tuviera nodos separados dedicados a índices db (registro de posición física + ID de máquina), podría hacer que cada consulta que hace referencia a la columna B vaya solo a aquellas máquinas donde realmente están los datos. ¡Esto es más rápido! –