2010-10-01 1 views

Répondre

2

J'ai seulement travaillé avec MySQL et MySQL supporte le partitionnement. Cependant, le partitionnement est limité à un seul serveur de base de données, ce qui signifie que la mise à l'échelle horizontale (partition de la base de données sur plusieurs machines) n'est pas quelque chose que le moteur de base de données gère. Cela doit être géré au niveau de l'application.

MySQL Le partitionnement fonctionne très bien dans les cas d'utilisation en écriture intensive.

Pour vous donner d'autres directives:

Scaling mysql writes through partitioning at Yahoo

Database sharding at Netlog

4

La réponse est "genre de". MySQL n'a vraiment rien de natif de "gratuitement". Les grandes technologies de SGBDR comme MSSQL et Oracle ont un très bon support pour la mise à l'échelle. Cependant, les deux technologies sont onéreuses et il n'y a pas moyen de traverser un millier de serveurs chez MS SQL et de dire "ayez-y".

Bien sûr, même avec des millions de dollars dans les serveurs et la technologie, vous n'avez toujours pas accès aux jointures. Je veux dire, comment pouvez-vous joindre des données de manière fiable sur 500 serveurs?

Honnêtement, je pense que votre question est probablement mieux répondu par l'existence même des technologies comme MongoDB et CouchDB. Ces technologies existent car les développeurs ont besoin d'un moyen de "s'horiser" de manière fiable. Les SGBDR, de par leur nature, ne sont pas bons pour l'horizontalisation. Encore une fois, comment pouvez-vous mettre à l'échelle une jointure?

Questions connexes