Quel SGBD choisir : Oracle ou Microsoft SQL-Server ?
Le 2003-03-08 14:55:09, par dellibmdell, Nouveau Candidat au Club
Dois-je choisir Oracle ou MS SQL-Server?
Qui peut me donner les points forts et les points faibles de chacun de ces SGBD?
En fait je voudrais avoir une idée générale sur les points forts d'oracle comparativement à MS sql/server.
Si je dois les comparer quels sont les points essentiels que je dois aborder.
Merci beaucoup
Qui peut me donner les points forts et les points faibles de chacun de ces SGBD?
En fait je voudrais avoir une idée générale sur les points forts d'oracle comparativement à MS sql/server.
Si je dois les comparer quels sont les points essentiels que je dois aborder.
Merci beaucoup
-
orafranceExpert éminent séniorEt en général c'est l'application qui fait un alter session en fonction du contexte pour éviter d'allourdir les requêtes. Le site web d'Oracle est un parfait exemple pour montrer que l'internationalisation est possible.
Les clients dont tu parles sont entourés d'incompétents c'est toutle 16/06/2009 à 10:10 -
TheLeadingEdgeMembre expertOla Fred,
Envoyé par SQLPro
Si tu lis attentivement ce que tu as cité tu constateras qu'il existe déjà des aller-retours.CLERMONT-FERRAND LYON 206,11
[..]
LYON CLERMONT-FERRAND 205,04
et
LYON MONTPELLIER 303,6
[..]
MONTPELLIER LYON 301,66
et aussi
MONTPELLIER TOULOUSE 241,3
[..]
TOULOUSE MONTPELLIER 242,34
et encore
CLERMONT-FERRAND MONTPELLIER 335,23
[..]
CLERMONT-FERRAND TOULOUSE 375,6
Ajouter 1 ou plusieurs arêtes ne changera rien à la chose.
La requête déjà fournie retournera toujours un résultat juste au problème du plus court chemin.
Donc avec Oracle on peut gèrer les arbres, mais aussi les graphes. Et même les treillis (qui pour le coup est aussi un cycle Hamiltonien) comme dans l'exemple du ''traveller saleman problem de E. Rich'' ci-dessus.
[HS]Par contre dans ton article (pas mal fait par ailleurs) tu parles du ''problème du voyageur de commerce''. Je ne suis pas d'accord. Il ne s'agit que du plus court chemin ainsi que tu le dis dans cette discussion. [/HS]Envoyé par SQLPro
... Tu sais bien que je ne vais pas résister. Mais c'est juste pour le fun. La requête que j'ai donné fonctionne trés bien.
Dans ma 1ere réponse j'ai dit que je ne voulais pas bricoler la chaîne trajets et que j'avais choisi de le faire en SQL.
(Petit apparté, si tu trouve tordu un classique appareillage maitre/détail, comment tu qualifies une division relationnelle alors ?)
En fait j'avais d'abord utilisé les expressions régulières pour faire le total.
Voilà ce que ça donne (et j'ai rajouté les 2 aller-retours de ton post, dsl, je n'ai pas trouvé le etc..)Code SQL : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52SQL> SELECT * 2 FROM Carte 3 ; PARIS CLERMONT-FERRAND 422 PARIS LYON 463 CLERMONT-FERRAND PARIS 422 CLERMONT-FERRAND LYON 206 CLERMONT-FERRAND MONTPELLIER 335 CLERMONT-FERRAND TOULOUSE 375 LYON PARIS 463 LYON CLERMONT-FERRAND 205 LYON MONTPELLIER 303 MONTPELLIER CLERMONT-FERRAND 332 MONTPELLIER LYON 301 MONTPELLIER TOULOUSE 241 TOULOUSE CLERMONT-FERRAND 374 TOULOUSE MONTPELLIER 242 14 ligne(s) sÚlectionnÚe(s). SQL> WITH T AS 2 ( 3 SELECT CONNECT_BY_ROOT depart || SYS_CONNECT_BY_PATH (destination, 4 SYS_CONNECT_BY_PATH (km, '+') AS x 5 FROM Carte 6 WHERE CONNECT_BY_ROOT depart = 'PARIS' 7 AND destination = 'TOULOUSE' 8 CONNECT BY NOCYCLE PRIOR destination = depart 9 AND destination <> CONNECT_BY_ROOT depart 10 ) 11 SELECT CAST (t AS VARCHAR(48)), 12 CAST (x AS VARCHAR(16)), 13 CAST (SUM (CASE SUBSTR(x, LEVEL, 1) 14 WHEN '+' 15 THEN REGEXP_SUBSTR (SUBSTR (x, LEVEL, LENGTH(x)), '^[+][0-9 16 END) AS VARCHAR(8) ) 17 FROM T 18 GROUP BY t, 19 x 20 CONNECT BY x = CONNECT_BY_ROOT x 21 AND LEVEL <= LENGTH(x) 22 ; PARIS,CLERMONT-FERRAND,LYON,MONTPELLIER,TOULOUSE +422+206+303+241 1172 PARIS,LYON,MONTPELLIER,CLERMONT-FERRAND,TOULOUSE +463+303+332+375 1473 PARIS,CLERMONT-FERRAND,MONTPELLIER,TOULOUSE +422+335+241 998 PARIS,LYON,CLERMONT-FERRAND,MONTPELLIER,TOULOUSE +463+205+335+241 1244 PARIS,LYON,MONTPELLIER,TOULOUSE +463+303+241 1007 PARIS,CLERMONT-FERRAND,TOULOUSE +422+375 797 PARIS,LYON,CLERMONT-FERRAND,TOULOUSE +463+205+375 1043 7 ligne(s) sÚlectionnÚe(s).
le 27/03/2009 à 15:09 -
WaldarModérateurUn bout d'un post que j'ai mis dans le forum Oracle après l'intervention de SQL Pro, mais il a plus sa place ici.
************************************************
De mon côté j'ai une plus longue expérience SQL avec Oracle qu'avec SQL Server.
Je travaille dans la BI donc quand j'interviens les applications sont déjà terminées.
Ce que je trouve déroutant avec SQL Server ce sont les paramètres par défaut suivants :
- commit implicite si on ne déclare pas de transaction
- pas de format de date explicite (convert avec des type 101 102 et cetera, ou cast depuis les paramètre locaux ou format ISO si j'ai bien suivi)
- typage de donnée conservé sans regarder l'opérateur : 5/2 = 2
- collation CI plus ou moins par défaut : 'Aeé' = 'aEÉ'
- rtrim plus ou moins par défaut également : 'A' = 'A '
S'ajoute à celà un peu de retard en SQL sur Oracle :
- les analytiques de SQL:2008
- expressions régulières en SQL natif
- les jointures externes partitionnées
- la clause model non normative
Si je dis des inepties n'hésitez pas à me reprendre ça améliorera mon quotidien !le 19/05/2009 à 17:31 -
SQLproRédacteurOracle est pas gentil
A +le 15/06/2009 à 17:50 -
Fabien CelaiaRédacteur/ModérateurEn gros, l'administration d'Oracle est plus complexe que MS-SQL et sa demande en ressources plus importantes.
Par contre, il fonctionne sous NT et Unix et permet de gérer de gros volumes de données.
Il y a d'autres alternatives, de type Sybase ASE, qui permettent de gérer ses bases à la mode MS-SQL (c'est renversant de dire ça, compte tenu que MS-SQL vient de Sybase), tout en obtenant des performances élevées et en ayant la possibilité de travailler sur divers OS.
Ce que Oracle(9i) fait, mais pas MS-SQL(2000)
- sécurité au niveau ligne
- JVM inclue dans le moteur (mais sans support JIT)
- support SQLJ, niveau 0 et 1
- gestion cluster (optionnel), haute disponibilité (homis WSB)
- édition des plan d'exécution
- parallélisme pour insert et update (optionel)
- backup et restore parallèles
- tables de résumé
- roles définis par l'utilisateur
- gouverneur de ressources
- attribution de priorités (optionel)
Ce que MS-SQL(2000) fait, mais pas Oracle(9i)
- recherche XML (ce n'est plus vrai depuis la 9.0.2)
- verrouillage au niveau page
- gestion de données hétérogènes
- coût moindre
C'est pas une liste exhausitive... et je me réjouis de la rafraîchir avec les commentaires des autres membres.
Je suis de plus sûr qu'une des FAQ de SQLPro devrait conmprendre une lsite exhaustive...le 11/03/2003 à 9:31 -
vanquishMembre chevronnéAux arguments de Fadade, j'ajouterais qu'à mon sens, MS SQL-Server est d'une prise en main beaucoup plus rapide qu'Oracle.
D'une façon générale, pour le meilleur et pour le pire on est tous habitué aux interfaces Microsoft.
MS SQL-Server propose aussi une version Lite gratuite nommé MSDE (gratuite pour peu qu'on utilise un langage MS - mais si ce n'est que cela je te fais un "hello world" en VB, auquel j'adjoint des plugins écrit en ce que je veux).
Il ne me semble pas qu'il y ai d'équivalent Oracle (en terme de gratuité et de redistribuabilité).le 14/03/2003 à 16:12 -
Maxence HUBICHEExpert éminentMSDE, pour etre Lite c'est Lite :
Optimisé à 5 connexions concomittentes ....
Je suppose que, s'il faut comparer Oracle et SQL Serveur, c'est qu'il y a plus d'utilisateurs que ça !!!le 15/03/2003 à 11:58 -
SQLproRédacteurgrosso modo : Oracle est plus intègre mais moins rapide
MS SQL Server est plus rapide mais moins intégre.
Les volumes traités aujourd'hui sont comparable.
L'administration de SQL Server est un poil plus facile.
Le langage procédural de SQL Server est plus simple que celui d'Oracle. En gros le PL/SQL d'ORACLE ressemble à de l'Ada, celui de MS SQL Server (et de Sybase ASE) est plus direct, rapide et facile à écrire...le 15/03/2003 à 16:51 -
Fabien CelaiaRédacteur/ModérateurMS-SQL ne gère pas un environement cluster. Il est possible toutefois de l'utiliser sur du NT cluster, et il réagira comme n'importe quel autre service (redémarrage du service sur le noeud valide lors d'un crash), mais cela n'en fait pas un serveur cluster.
Il n'est par exemple pas possible de travailler sur une même base partant de deux noeuds différents (en mode actif-actif), compte tenu que le service MSSQL ne peut être démarré que sur un noeud à la fois.le 16/03/2003 à 11:35 -
EpictèteMembre averti
Envoyé par SQLpro
Par exemple rapide pour faire quoi ? imaginons que SQL-Server soit plus rapide en transactions simples OLTP (ce qui n'est meme pas sur), oracle est probablement plus rapide en exploitation réelle OLCP (On line Complex Processing) grace à son système de gestion multi version (un système similaire existe dans interbase), ou qu'Oracle grâce à son système intégré de multi-versioning ?
En effet, sql server n'à pas de système de gestion muti version comme oracle et InterBase, et son utilisation réelle en multi-utilisateurs sur des requetes complexes peut se révéler un problême à cause de son système de verrous page, alors qu'il n'y à jamais de blocages quel que soit le nombre d'utisateurs sous Oracle ou interbase grace au systèle multi-version.
Donc de dire que l'un ou l'autre soit plus rapide cela me parait etre extrèmement simpliste.
Ca dépend énormément de l'utilisation qu'on en fait, Sybase (SQL Server ) à été concu au départ pour l'OLTP (les transactions simples), et quand on sort de ce cadre d'utilisation simple (simpliste ?) , qu'en est il ?le 16/03/2003 à 14:32