2010-12-11 30 views
0

quel produit de base de données prend en charge plusieurs lectures et écritures simultanées sans avoir besoin de construire des environnements répliqués séparés et quelles sont les alternatives pour obtenir la même chose. La réplication de l'environnement est-elle lourde sur les ressources?quelle base de données prend en charge plusieurs lectures et écritures simultanées sans avoir besoin de créer des environnements répliqués distincts

Merci

+0

Um ... à peu près tous d'entre eux soutiennent cela. Pas beaucoup d'avoir un SGBDR autrement. Pouvez-vous vous concentrer sur votre question? C'est très large en l'état. – Oded

+0

@Oded: bien certains SGBD sont limités lorsqu'il s'agit de lectures simultanées * et *. Les versions plus anciennes de SQL Server ou DB2 imposent des verrous très restrictifs sur les tables pour lesquelles elles sont modifiées, même avec des insertions. MySQL lors de l'utilisation de MyISAM ne brille pas dans ce domaine, donc la question n'est pas si absurde –

+0

@a_horse_with_no_name - Sans plus d'informations sur la charge attendue sur le système, il est insensé. – Oded

Répondre

1

Lorsque vous utilisez les versions « mises à jour », tout SGBD soutiendront que.

Dans Oracle et PostgreSQL, un lecteur n'est jamais bloqué si c'est ce que vous voulez dire.

Pour SQL Server, vous devez avoir au moins la version 2005 pour se débarrasser de certains comportements de verrouillage méchants.

DB2 offre un mode « lecteurs ne sont jamais bloqués » à partir de 9,7

Pour MySQL, vous devrez utiliser InnoDB comme MyISAM réduira considérablement la concurrence lors de la lecture et de l'écriture (à l'exception de tous les autres problèmes que MyISAM a Si vous faites plutôt référence à un problème de performances, les écritures lourdes ralentiront les autres requêtes, il s'agit alors plus d'un problème matériel que d'un véritable problème de SGBD. Le facteur le plus limitant (en particulier pour les grandes bases de données) est IO. En utilisant des systèmes RAID haut de gamme (ou des disques à semi-conducteurs comme FusionIO), ce problème peut également être résolu, mais cela sera coûteux.

+0

Merci Oded & "cheval sans nom !!" La charge attendue varie de 3000 à 5000 utilisateurs pour la lecture et de 200 à 300 utilisateurs/applications pour écrire – Ajay

+0

Merci Oded & "un cheval sans nom !!" La charge attendue varie de 3000 à 5000 utilisateurs pour la lecture et de 200 à 300 utilisateurs/applications pour l'écriture. Le problème principal ici est de sélectionner un SGBDR pour des performances élevées, afin de déterminer comment DB2 peut résoudre ce problème. Il ressort clairement de l'une des réponses ci-dessus que DB2 9.7 que "les lecteurs ne sont jamais bloqués" mais que faire si une écriture simultanée est nécessaire. Peut-on parvenir à la même chose en construisant des environnements répliqués séparés. – Ajay

+0

Je suis assez sûr que DB2 (avec le bon matériel) peut facilement faire face à cette charge. Que voulez-vous dire par "écriture simultanée"? DB2 (comme tous les autres SGBD de nos jours) effectue un verrouillage de niveau ligne. Donc, si deux processus mettent à jour deux lignes différentes, ce n'est pas un problème. Bien sûr, une seule transaction (processus) à la fois peut mettre à jour une ligne spécifique. –