2010-08-23 5 views
0

Oracle a une bonne réputation pour gérer des applications à grande échelle et il est également flexible pour s'étendre à l'environnement de cluster. Pourquoi tout le monde veut NOSQL?pourquoi tout le monde veut NOSQL autres que les clusters Oracle à grande échelle?

parce que nosql db est beaucoup moins cher? pourquoi ne pas swith orienté objet db?

+3

La dernière fois que j'ai vérifié, Oracle prix * par core * - pas bon marché. –

+1

Les bases de données orientées objet, NoSQL et Oracle sont toutes spécialisées dans différents cas d'utilisation. –

+0

Oracle Standard Edition est par socket, Enterprise Edition (et options) sont par core. –

Répondre

5

Tout d'abord, tout le monde ne veut pas de NoSQL. Les logiciels packagés (par exemple ERP) sont tous des éléments RDBMS à peu près intégrés. Ne confondez pas le montant de l'effort de développement avec l'utilisation. Ce qui est arrivé, c'est que NoSQL a ouvert toute une gamme d'applications qui ne correspondaient tout simplement pas aux technologies relationnelles, et donc il y a eu une ruée d'applications qui peuvent être développées. La plupart des choses qui pourraient être développées sur les plateformes RDBMS ont déjà été et sont en phase de maintenance/mise à niveau. Probablement avec moins de modernisation que d'habitude en raison de l'ensemble du climat financier mondial.

Alors dans dix ou quinze ans, alors que ces applications NoSQL atteignent le même niveau de maturité, la frénésie s'estompera et il y aura moins d'excitation.

+2

"Ne confondez pas le montant de l'effort de développement avec l'utilisation." Ou la quantité de battage médiatique, couverture de presse, articles de blog ... – Thilo

0

Une solution SQL n'est pas nécessairement ce que vous voulez, quelle que soit l'échelle. Il existe des situations où vous ne pouvez pas facilement prédire le schéma de votre modèle, ou pire encore, vos données sont sans schéma. Dans ces situations, vous voulez un modèle de données qui ne vous limite pas mais vous donne la flexibilité dont vous avez besoin pour faire évoluer vos données tout en conservant les capacités de base telles que les index rapides. Une autre raison est que SQL ne représente pas la manière naturelle dont vous voulez regarder vos données, principalement les DB de graphes tels que Neo4J ou GraphDB permettent aux développeurs ou aux utilisateurs d'approcher un modèle de graphe lié d'une manière plus intuitive.

Bien sûr, il existe un moyen de résoudre tous ces problèmes dans Oracle RDBMS, mais cela ressemble plus à pirater la base de données pour répondre à vos besoins que d'utiliser une base de données qui vous convient. Cela ressemble à un avantage, mais il va en fait beaucoup dans la facilité de développement et d'analyse de votre application. Or, si nous parlons d'échelle, Oracle peut probablement battre les bases de données basées sur les colonnes telles que HBase ou Hypertable, mais il est important de noter que le RDBMS Oracle n'est pas seulement plus cher, il est bien plus cher. Dans le monde d'aujourd'hui, même les startups de petite taille ont des téraoctets de données à analyser quotidiennement. Même les petites entreprises peuvent utiliser des grappes de 100 machines dans le cloud pour stocker leurs données, dans une telle entreprise Oracle n'est pas une option viable, le coût annuel de licence et l'embauche d'administrateurs de base de données empêcheront les startups de l'utiliser.

Enfin, la dernière raison pour laquelle vous commencer avec NoSQL est la vitesse, ce qui porte un développement MongoDB et de départ peut être fait en 5 minutes et parfois vous voulez gérer les problèmes comme ils viennent et éviter l'optimisation prématurée

+0

qu'en est-il OODB ~ je ne pense pas que nosql db durera longtemps car ils ne réduisent pas vraiment la résistance entre la base de données et OOP. Si nous avons finalement besoin d'un oodb pur, l'utilisation de nosql comme une solution pour étendre notre DB semble imprudent? – RobinQu

+0

vous pourriez avoir raison, peut-être OODB est le futur, mais pour de nombreux scénarios du monde réel NoSQL est le présent. Je suis sûr que les langages de programmation auront l'air complètement différents dans 10 ans, cependant, je construirais quand même un projet avec Java avant de le construire en Go (Le langage de programmation google) – Asaf

0

Si vous êtes prêt à laisser aller la cohérence, il n'y a pas de limites théoriques à la façon dont vous pouvez faire évoluer certaines solutions NoSQL. Certains SGBDR peuvent évoluer beaucoup, et Oracle est parmi les meilleurs, mais aucun SGBDR ne vous permet de réduire la cohérence, et par conséquent, même le meilleur a une limite théorique assez claire à quelle échelle il peut évoluer, sans parler de les limites du monde réel.

Certains grands noms sur le net ne peuvent plus compter uniquement sur le RDBMS, et beaucoup d'autres suivent juste pour être les grands. Enfin, certaines solutions sont parfaitement adaptées à une structure sans schémas, mais celles-ci ne représentent pas la majorité des utilisateurs de NoSQL. L'essentiel est de faire évoluer le web 2.0.

0

Ceci est une question très générale que vous demandez. Comparez-vous la base de données relationnelle à la base de données NOSQL, ou comparez-vous une base de données commerciale ou open source? Nous devons comprendre, car il semble que nous comparons les pommes aux oranges, et vous n'obtiendrez pas de réponse claire.

Voici la répartition de mon point de vue. Type DB: Si vous comparez db vs NOSQL db, vous devez vous référer à ce link à la place. Coût: Si vous comparez du point de vue des coûts, chacun a son propre coût. Oracle facturera la licence, tandis que la base de données NOSQL (utilisant MongoDB comme exemple) est open source, et vous n'avez pas besoin de payer la licence. Mais vous aurez besoin de quelqu'un pour avoir une bonne compréhension de NOSQL pour administrer et maintenir le site, ce qui est beaucoup plus difficile à trouver.

Application: Quel type d'application écrivez-vous? Vous devez comprendre l'exigence de base de données pour votre application. Si vous avez besoin de stocker beaucoup de données non structurées en tant qu'entrée de valeur clé, il vaut mieux utiliser NOSQL. De l'autre côté de la pièce, vous préféreriez SQL db si vous allez rejoindre beaucoup de tables et exécuter SQL complexe.

Vous avez mentionné Object Oriented DB, et c'est un autre type de base de données de NoSQL ou DB relationnelle. A la fin, cela dépend de votre besoin. Pour élargir le choix de l'horizon, certains pourraient entendre parler de la base de données hiérarchique, qui vivent principalement dans l'environnement mainframe. :-)

Questions connexes