Votre avis sur mon clone de MS SQL Server
Bonjour, tout le monde,
Depuis 4 ans, je développe un clone léger et simplifié de MS SQL Server.
J'ai toujours voulu que SQL Server tourne sur Linux, alors je me suis lancé pour développer un clone sur l'OS au pingouin.
Ceci dit, j'ai réussi aussi à le compiler sur Windows.
https://www.rsql.ch
Pour télécharger et essayer sur Windows:
https://www.rsql.ch/guide/download_page/
https://www.rsql.ch/guide/installation_windows/
Cela m'aiderait beaucoup si quelqu'un a un peu de temps pour l'essayer et me donner son avis ou une première impression.
Le programme n'est pas encore fini. J'en ai encore pour 6 mois ou plus.
Pour l'instant, il est achevé à 90% et contient 120'000 ligne de code en Golang https://golang.org/ et un peu de C.
Il est encore très lent parce que les indexes sont implémentés, mais les SELECTs ne les utilisent pas encore.
Donc, il fait un scan des tables, ce qui est très lent, surtout quand il y a des jointures.
Mais je suis en train de travailler sur l'optimiseur, justement ;-)
Et pour l'instant, ORDER BY et GROUP BY ne sont pas encore implémenté.
Je le redis, je n'implémente pas tout, c'est vraiment un clone simplifié.
Mon projet est de le publier sous licence libre quand il sera utilisable, l'année prochaine je pense.
Ca nous fera économiser le prix des licences ;-)))
Y'a un truc que je comprends pas
Vous vous êtes lancé dans un "clone de SQL Server", sous Linux.
Ok.
Mais dans le même temps, vous dites que pour le moment, les index ne sont pas utilisables, que order by et group by ne fonctionnent pas...
Et là, j'avoue que je sens comme une contradiction !
En effet, vous semblez en être à une étape encore moins avancée que l'utilisation d'un driver ODBC pour interroger un fichier CSV... Et vous prétendez cloner ce qui se fait à peu près de mieux sur le marché.
Postgre, qui est gratuit et open source, est bien plus proche du but que vous : il s'agit d'un "vrai" SGBD, qui supporte pas mal la norme SQL, y compris les éléments avancés des dernières moutures de la norme.
Pourquoi vous lancer dans un clone (qui ressemble plus à un bout de mue d'antenne) plutôt que d'utiliser ce qui se fait déjà ?
Car même si au final vous voulez un SGBD qui respecte à la virgule près le comportement de SQL Server, ce qu'est loin de faire Postgre, le travail sera toujours moins important de repartir d'un outil où 30 à 40% du boulot est déjà fait (notamment le moteur, qui est quand même le noeud gordien du bignou), plutôt que de repartir de la feuille blanche, et arriver, au bout de 5 ans à un truc qui n'a pas d'optimiseur, qui ne sait même pas trier des résultats ni encore moins faire des regroupements.
J'imagine donc que ça ne fait pas non plus :
- de gestion d'intégrité
- de déclencheurs
- de langage évolué type T-SQL ou PL/SQL
- de CTE
- de fonctions de fenpêtrage
- de fonctions analytiques
- de gestion des verrous concurrents
- etc.
Dites que vous faites un clone de Microsoft Jet, et même si vous en êtes certainement à moins de 5%, vous en serez certainement bien plus proche que d'un clone de SQL Server...
Sans vouloir dénigrer votre travail (juste la prétention que vous y mettez) votre topic me fait penser à :
Citation:
Hey, je fais un clône de la fusée Arianne 5 : j'ai déjà peint "Agence Aérospaciale" sur un bout de carton !