Question

J'ai travaillé sur divers systèmes en tant que programmeur, certains avec Oracle, d'autres avec MySQL. J'entends toujours les gens dire qu'Oracle est plus stable, plus robuste et plus sécurisé. Est-ce le cas?

Si oui, de quelle manière et pourquoi?

Pour les besoins de cette question, considérons une base de données de production de petite à moyenne taille, environ 500 000 enregistrements environ.

Était-ce utile?

La solution

Oui. Oracle est un logiciel de niveau entreprise.

Je ne sais pas si c'est vraiment plus stable que mysql, je n'ai pas beaucoup utilisé mysql, mais je ne me souviens jamais de m'être écrasé par mysql. J'ai eu un crash d'Oracle, mais quand cela se produit, cela me donne plus d'informations sur les raisons de son crash que je ne pourrais le souhaiter, et le support Oracle est toujours à votre disposition pour vous aider (payant).

Très robuste, Oracle DB fera pratiquement tout ce qui est en son pouvoir avant de casser vos données. Des serveurs mysql font des choses vraiment bizarres quand ils manquent d’espace disque. Oracle va simplement arrêter toutes les transactions et éventuellement s’arrêter si il ne peut pas écrire les fichiers dont il a besoin. Je n'ai jamais perdu de données dans Oracle, même lorsque je fais des choses stupides, telles qu'oublier la clause where et mettre à jour chaque ligne plutôt qu'une seule, il est très facile de rétablir l'état de la base de données avant de tout gâcher.

Pas sûr de la sécurité, Oracle vous propose de nombreuses options pour vous permettre de vous connecter à la base de données et de vous authentifier. Il offre de nombreuses options concernant les utilisateurs qui ont accès à quoi, etc. Mais comme dans la plupart des cas, si vous souhaitez prendre la sécurité au sérieux, vous avez besoin d'un expert. Oracle a certainement beaucoup plus à perdre s’ils n’obtiennent pas une sécurité adéquate. Mais, comme pour tout, il y a eu des exploits.

Si rien d’autre, réfléchissez-y ... Lorsque Oracle fait le plein, il a des clients qui paient 40 000 dollars par processeur (s’ils sont drageons et payent un prix catalogue), une licence + des frais de maintenance annuels .. Cela leur donne un prix très raisonnable. forte intensité pour s'assurer que les clients sont satisfaits du produit.

Pour une petite base de données, je recommanderais sérieusement Oracle XE bien avant mysql. Il a les fonctionnalités importantes de mysql (Free), son installation facile, il est livré avec une belle interface web et un framework d’application (Application Express), si vous voulez que DB fonctionne avec un seul processeur, 1 Go de données et 4 Go, est le chemin à parcourir à mon humble avis.

Mysql a ses utilisations, beaucoup de personnes ont montré qu’on pouvait construire de grandes choses avec elle, mais elle est loin derrière Oracle (et SQL Server et DB2) en termes de fonctionnalités ... Mais alors, c’est aussi gratuit et très facile à apprendre, ce qui est la caractéristique la plus importante pour beaucoup de gens.

Autres conseils

Oracle a créé une base de données corrompue lorsque le disque a manqué d’espace. Il est difficile de déboguer, utilise beaucoup de ressources et il est difficile de travailler avec des DBA sérieusement qualifiés. Oracle a même remplacé les fichiers binaires du système (par exemple, gcc) dans / usr / bin / lors de l'installation occasionnelle.

Travailler avec PostgreSQL, en revanche, a été beaucoup plus agréable. Il donne des messages d'erreur lisibles et agit d'une manière plus compréhensible si vous avez l'habitude de travailler avec des systèmes open source * nix. Il est assez facile de configurer la réplication, ce qui permet de sécuriser suffisamment vos données.

Une base de données d'enregistrement de 500 000 $ peut probablement être exécutée sur votre téléphone portable. Sérieusement, il est si petit que Oracle XE et MySQL seront plus que suffisants pour le gérer.

  • pour les petites bases de données (quelques millions d’enregistrements), Oracle est excessif
  • vous avez besoin d'un administrateur de base de données expérimenté pour installer et gérer correctement un système Oracle
  • Oracle a une "base de calcul" plus importante, c’est-à-dire que vous avez besoin d’une machine plus puissante pour exécuter Oracle
  • le " out of the box " Auparavant, l'expérience d'Oracle était atroce (je n'ai pas installé de système Oracle depuis des années; je ne sais pas comment il se comporte actuellement), alors que mysql est très sympa

Oracle est une bête qui a vraiment besoin de connaissances en DBA. Je suis d'accord avec ceux qui disent que 500 000 enregistrements ne sont rien. La complexité d'Oracle ne vaut pas la peine s'il s'agit de simples données numériques / texte.

D'autre part, Oracle est extrêmement efficace avec les blobs. Si chacun de vos enregistrements était un fichier binaire de 100 Mo, vous auriez besoin d’une fortune pour l’exécuter sur Oracle (je recommanderais un cluster RAC à 3 nœuds avec un bon SAN).

J'ai un projet qui envoie des données (environ 10 millions de lignes, 1,2 Go de données) à trois bases de données différentes, 2 Oracle et 1 MySQL. Je n'ai eu aucun problème à travailler avec l'un ou l'autre système, et je n'ai vu aucun avantage majeur des deux côtés. Si vous êtes déjà à un endroit qui utilise Oracle pour d'autres projets, ajouter une nouvelle base de données ne devrait pas poser trop de problème, mais si vous envisagez de configurer un nouveau serveur de base de données sans rien avoir dans place déjà, MySQL vous fera économiser de l'argent.

Oracle Enterprise suppose qu’il existe une entreprise pour la prendre en charge, c’est-à-dire un véritable DBA Oracle. Un administrateur de base de données novice (mais compétent) devrait pouvoir sécuriser MySQL beaucoup plus facilement que Oracle, tout simplement parce qu’Oracle est par nature plus complexe. Bien entendu, Oracle dispose des outils de surveillance Enterprise qui vont bien au-delà de ce que MySQL propose actuellement (autant que je sache), mais le DBA doit pouvoir les utiliser pour être efficaces.

Une si petite base de données que vous décrivez pourrait être manipulée par presque tout, je ne vois donc pas pourquoi Oracle serait justifié à moins que l'infrastructure ne soit déjà en place. Tous deux disposent de réplication, de transactions et de sauvegardes à chaud.

La réponse dépend entièrement de la façon dont vous configurez chaque SGBD. Tous deux sont capables de gérer plusieurs fois 500 000 enregistrements.

Oracle est beaucoup plus costaud. Nombre de ses fonctionnalités ne seraient recherchées que dans une entreprise plus grande ou dans un environnement à hautes performances. Ce sont principalement des fonctionnalités liées à la mise à l'échelle, à la réplication et à l'équilibrage de la charge.

Pour les petites bases de données, considérez SQLite. Pour les petites et moyennes entreprises, consultez MySQL ou PostgreSQL. Pour les plus importants, consultez MSSQL, Oracle, DB2, etc.

Éditer: Après avoir lu l'autre réponse, j'ajouterai que si vos données sont vraiment, vraiment critiques, vous aurez besoin d'une configuration répliquée et vous voudrez probablement vous tourner vers l'un de ces éléments. les gros fournisseurs de bases de données pour quelque chose comme ça.

Si vous pouvez sacrifier des pertes de données ( extrêmement rares ) et si vous préférez des performances améliorées, examinez certaines des options plus légères.

Il est vrai qu'Oracle est une bête.

Il est également vrai qu'Oracle est largement considéré comme la base de données majeure la plus sécurisée.

Le problème est que les développeurs d’Oracle ne semblent pas comprendre les conséquences critiques en matière de sécurité. Oracle est le serveur de base de données le moins sécurisé du marché (selon des chercheurs en sécurité indépendants)

http://itic-corp.com/blog/2010/09/sql-server-most-secure-database-oracle-least-secure-database-since-2002/

Selon ces chercheurs, MySQL est relativement sécurisé. Je ne connais pas grand chose aux outils disponibles. Le plus amusant de cette recherche est que les mêmes personnes qui qualifieraient Microsoft SQL Server de jouets se feraient voler leurs données par des attaquants que MSSQL contrecarrerait parce qu’elles utilisent une bête dotée d’un modèle de sécurité épouvantable plutôt que d'un "jouet". c'est sécurisé.

J'utilise Oracle / SQL Server / MySql pour différentes applications et sites

Aucune base de données ne permet à Oracle d'accéder à de nombreux domaines, mais c'est la base de données la plus complexe qui nécessite des connaissances approfondies de la part de l'administration.

et si vous rencontrez un problème avec oracle, vous aurez peut-être besoin de plusieurs fois pour le résoudre, même avec de bons administrateurs de bases de données.

Vous pouvez utiliser MySql pour 500K ou des millions d’enregistrements. C’est plus léger que les autres bases de données, il ne nécessite aucun travail d’administration et ne nécessite pas beaucoup de ressources de votre ordinateur. Je l’ai toujours dans mon PC de développement et jamais. n’avait eu à faire face à aucun problème sérieux.

Je vous demanderais d’utiliser MySql ou PostgreSQL si vous n’avez pas besoin des fonctionnalités avancées d’Oracle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top