Quelle est la meilleure plate-forme pour la base de données à grande échelle

voix
4

Entre MySQL et PostgreSQL, qui est la suite pour très grande échelle de data..for exemple, des millions de record ... je pense, je devrais utiliser PostgreSQL ... les gars de suggestion?

Créé 27/08/2009 à 03:36
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
5

Je l'ai utilisé aussi bien dans des situations similaires et taille du DB ne semble pas influer sur leur échelle de manière sensiblement différente. PostgreSQL est beaucoup plus complet et solide, et sera beaucoup mieux en charge les requêtes complexes et leur optimisation, tandis que MySQL peut briller en termes de vitesse de récupération pour les requêtes très simples; mais ces aspects sont indépendants de la question de la taille pure.

Créé 27/08/2009 à 03:44
source utilisateur

voix
2

Eh bien, cela dépend en fin de compte de ce que vous êtes plus à l' aise. Selon MySQL, il n'y a pas de limite théorique imposée à la taille de la base de données ... cela dépend de la capacité du matériel supportant. Avec le nombre de lignes, en utilisant InnoDB, la limite théorique est de 256 téraoctets. La raison pour laquelle je continue à jeter théorique est que, il y a probablement une très petite chance que vous pourriez peut - être l' indice 256 téraoctets de données, de sorte que ce qu'ils sont d' approximation pourrait être une limite. Si vous frappez que Max, vous avez des problèmes plus graves. Les utilisateurs actuels de MySQL en production, que je peux penser, sont YouTube et Facebook. Ce sont probablement les deux plus grandes ... et il semble qu'ils se débrouillent bien.

Mais encore une fois, comme je l'ai dit ci-dessus. Il est tout ce que vous êtes plus à l'aise.

Créé 27/08/2009 à 03:44
source utilisateur

voix
4

Je pense que cela dépend beaucoup de ce que vous entendez par « mieux ». Vous devriez probablement identifier vos besoins avant de choisir l'un ou l'autre.

Plus rapide? Plus fiable? Permet la réplication? Peut faire des requêtes plus complexes? Votre application est prête à « sharding » dans ce cas, vous voulez probablement une base de données qui peut regrouper et administrer plus facilement, ou avez besoin d'tout ce que vous dans un ensemble massif de tables liées, dans ce cas, vous voulez probablement un bon support pour de nombreux noyaux et grande mémoire. Avez-vous une authentification complexe mis en place ou est-ce une simple application web « un utilisateur »? La majeure partie des données dans des objets binaires, ou est-il de simples nombres et les chaînes? Comment allez-vous faire vos sauvegardes?

MySQL et PostgreSQL semblent tous deux être des bases de données très capables, et les deux ont été utilisés avec succès à grande échelle, donc je vous suggère de vous besoin d'identifier d'abord les besoins spécifiques de votre application.

Mon inclination serait vers PostgreSQL, mais c'est surtout parce que j'ai eu quelques désastres avec perte de données MySQL il y a quelques années et je ne suis pas venu de faire confiance à nouveau. PostgreSQL a été très agréable en termes de pouvoir effectuer des sauvegardes facilement.

Créé 27/08/2009 à 04:17
source utilisateur

voix
4

Postgres a un ensemble de capacités plus riche et une meilleure optimiseur; sa capacité à faire les jointures de hachage rend souvent beaucoup plus rapide que MySQL pour les jointures. MySQL est répandu pour être plus rapide pour les analyses de table simples. Le moteur de stockage que vous utilisez beaucoup importe sous, aussi bien.

À un certain moment, l'échelle devient un choix entre deux options: échelle en achetant plus de matériel, ou à l'échelle par l'introduction de nouvelles machines (que vous pouvez shard les données, l'utilisation des répliques esclaves, ou essayez une configuration maître-maître - à la fois Posgres et MySQL ont des solutions de différents niveaux de qualité pour ce genre de choses).

Quelques millions de lignes de données de la table correspondent à la mémoire d'un serveur standard ces jours-ci; si c'est tout ce que vous faites, vous n'avez pas à vous soucier de ce genre de choses - tout simplement optimiser la base de données quelle que soit vous êtes plus à l'aise, pour assurer les index appropriés sont créés, tout est mis en mémoire cache (et quelque chose comme Memcached est utilisé, le cas échéant) , etc.

Les gens mentionnent que Facebook utilise MySQL; c'est le genre de vrai. Un peu parce que ce qu'ils sont en train de faire est d'utiliser des centaines (milliers maintenant?) Des bases de données MySQL, tous les responsables de leur propre petite section des données. Si vous pensez que vous pouvez charger facebook en MySQL (ou Postgres, Oracle) par exemple ... eh bien, ils avaient sans doute beaucoup entendre parler de vous ;-).

Une fois que vous entrez dans la terre téraoctet, les choses deviennent difficiles. Il existe des solutions spécialisées comme Vertica, Greenplum, Aster Data. Il y a les différents magasins de données de « NoSQL » comme Cassandra, Voldemort, et HBase. Mais je doute que vous devez aller à un tel extrême. Il suffit d'acheter un peu plus de RAM.

Créé 27/08/2009 à 04:32
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more