a une expérience réelle de quelqu'un avec des bases de données Firebird sur Internet? P>
J'ai un logiciel de comptabilité Windows typique / ERP (fait avec Delphi) qui fonctionne plutôt bien avec le serveur de base de données Firebird .. Maintenant mes utilisateurs (300 APROX. MAINTENANT, mais devraient augmenter) aussi vouloir travailler "dans le nuage" (Connexion du bureau, de l'ordinateur portable, de la maison, etc.). Il est beaucoup de travail de tout recréer à une application Web standard (disons par exemple, HTML + CSS + JS + PHP + MYSQL), donc je envisage de garder le client Win (je m'en fiche des autres OSES) Mais au lieu du serveur vivant dans les clients des clients, le déplaçant à une paire de serveurs dédiés que je vais contracter (une défaillance primaire et des agressions secondaires pour commencer). P>
Recherche J'ai rencontré cette faq http://www.firebirdfaq.org/faq53/ Cela explique que le protocole FB n'est pas idéal pour travailler sur Internet, mais toujours tous mes utilisateurs ont aujourd'hui au moins une connexion Internet ADSL de 1Mbbit / SEC (je ne pense pas que la FAQ dénote la FAQ). p>
Quelqu'un a fait cela? Quelle était l'expérience? Quelle est la sécurité des serveurs FB pour être ouvert sur Internet? Dans quelle mesure ils échouent? P>
Je sais que la construction d'un "middleware" avec du savon par exemple sera plus normale, mais toujours la solution que j'évalue ici est beaucoup plus rapide et facile (j'ai encore du travail avec la réplication, la sauvegarde, les services de l'aubeath, Mais c'est beaucoup moins que de tout refaire pour le Web). P>
merci! EDIT: Version FB: 2.5. P>
5 Réponses :
J'avais essayé de "pousser" les développeurs de base de Firebird pour améliorer le protocole de Firebird pour obtenir une meilleure vitesse avec un réseau de latence élevé (alias. Internet). Récemment, Dmitry Yemanov a publié des articles dans son blog sur ce sujet ( dyemanov.blogspot.com ). Il semble qu'il y ait une marge d'optimisation et j'aimerais vraiment voir cela à venir dans FB 2.5.3 et FB 3.0, bien qu'il n'y ait aucune garantie pour cela dans ces versions ou à tout moment bientôt. Vous pouvez voter dans une telle amélioration ici: http://tracker.firebirdsql.org/browse/core-2530 p>
sécurité? Vous pouvez essayer de mettre en place un VPN. Il peut également aider à la vitesse, car la majeure partie du logiciel VPNS ( Zebedee , etc.) Peut comprimer les données étant transférées, aidant à accélérer le transfert de données dans certains cas. P>
Certains de mes clients utilisent Firebird traditionnel C / S sur Internet. Il est beaucoup plus lent que le réseau local, et bien sûr, combien plus lentement dépend fondamentalement sur la vitesse et la latence de liaison. Vous pouvez également faire une certaine optimisation sur le côté du client, à l'aide de cache de métadonnées, etc. Mais ne vous attendez pas à des miracles avec le protocole actuellement. Je dirais que pendant une journée entière de travail, l'utilisation des services de terminal serait une meilleure option pour l'instant. P>
Comme le dit Warmbooter, les services de terminal (Windows ou même mieux Citrix) peuvent très bien faire le travail.
Firebird 3 dispose de bonnes optimisations de protocole et comprend également sur le cryptage et la compression du fil. J'ai fait des tests avec Beta2 et ils étaient très prometteurs! Vous pouvez vérifier les résultats à Firebirdnews.org/tsting-the-firebird -3-protocole-amélioration S
Le problème du protocole FB ne concerne pas la bande passante, mais la latence. D'après mon expérience, certaines opérations peuvent être très lentes sur Internet / VPN par rapport au réseau local ou à la connexion locale. Je n'ai plus examiné la question depuis que je ne dirigez pas vraiment des applications sur la connexion Internet. P>
Cependant, je suggère un modèle à trois niveaux d'application. Créez votre propre serveur d'applications, qui fonctionne sur le serveur de base de données / même réseau. Laissez les clients parler avec le serveur d'applications et vous obtenez des performances maximales. P>
Il existe des frameworks d'application / middleware N-Tier pour Delphi: P>
Avec ceux que vous pouvez obtenir une compression de données, un cryptage, des messages binaires (plus rapidement que le savon), etc. P>
Oui Ajout d'un "Middleware mince" est l'autre option, tous ceux qui sont commerciaux .. Connaissez-vous de certaines options open source et gratuites?
Eh bien, utilisez le propre datasnap de Delphi, vous avez déjà cela (peut dépendre de votre version Delphi). Embarcadero a continuellement développé dataSnap avec un œil sur le nuage.
Le mitigé est gratuit pour une utilisation non commerciale. Je ne suis pas au courant d'alternatives open source gratuites.
UNIDAC + DataSnap = Meilleur option.Unidac Prise en charge unidirectionnel, mises à jour en cache, etc. qui peuvent augmenter votre performance
la réponse sur la question de la mise à l'échelle Firebird fonctionne en production sur de grands serveurs de grands fer: 512 g de RAM 100.000 utilisateurs simultanés p>
Nous courons Firebird pour réduire les systèmes plus vastes (pour 12 agences gouvernementales et 3 banques). Il a environ 100 000 utilisateurs finaux multiplexés à travers 2500 connexions groupées (max) https://plus.google.com/111558763769231855886/posts/q1acy1yyyTGP P> blockQuote>
Le protocole de Firebird 2.5 est amélioré, il reste encore de la place pour 3.0 mais vous pouvez vérifier ce qui est déjà fait p>
http://asfernandes.blogspot.com/ 2009/07 / Réseau-latence-influence-on-Firebird.html P>
et les futures améliorations en 3.0 http://www.firebirdnews.org/?p=6953 P>
Pour protéger votre connexion, je suppose que le meilleur pari est le tunnel SSL / SSH (cela peut être un opnvpn) avec option de compression élevée http://mapopa.blogspot.com/2010/11 /Securing-firebird-utilisateur-ssh-tunnel.html P>
KBMMW CodeGear Edition est libre mais sans source. Il peut être utilisé pour les applications commerciales. Téléchargez-le après l'inscription à: https://portal.components4developers.com p>
Si vous voyez des erreurs de certificat (vous ne devriez pas savoir que nous avons entendu dire que certains font effectivement), acceptent et les ignorer. Le site est valide malgré le Cert.Error. P>
KBMMW CodeGear Edition contient un sous-ensemble de KBMMW Professional Edition, mais prend en charge l'API de base de données Delphi suivant: p>
Il prend en charge des protocoles binaires, binaires sur HTML, XML et SOAP en communication avec les clients. Il contient tout ce dont vous avez besoin incl. P>
Il y a une mise en garde cependant. La version la plus récente de KBMMW CodeGear Edition prend toujours en charge la version Delphi la plus récente. Vous pouvez toujours télécharger les anciennes éditions de CodeGear KBMMW. P>
KBMMW Professional Edition et KBMMW Enterprise Edition n'ont pas de telles limitations et sont actuellement en faveur de D7, D2006, D207, DXE, DXE2, ainsi que des homologues Embarcadero C ++. P>
meilleures salutations Kim Madsen www.components4developers.com p>
Je ne vois pas comment cela va répondre à la question
Vous pouvez implémenter le cryptage / le déchiffrement des paquets TCP / IP directement dans le moteur Firebird lui-même. Personnaly, j'ai téléchargé le code source Firebird 2.5 et injecté du code de tunnelisation sécurisé directement dans sa couche de communication de bas niveau (la couche de socket Inet). Maintenant, le cryptage / décryptage est effectué directement par le moteur Firebird pour chaque paquet TCP / IP auprès du côté serveur et du côté client (fbclient.dll). Ensuite, il n'est pas nécessaire de réexaminer l'application client, à l'exception de l'ajout d'une ligne de code qui fournit la clé secrète que vous choisissez de crypter la communication à la FBClient.dll. La même clé secrète doit être déclarée dans le fichier Firebird.conf de votre installation de serveur. J'ai également mis en place une solution de négociation proxy dans le FBClient.dll afin de permettre aux paquets TCP / IP de passer à travers Ton serveur proxy (comme Microsoft ISA Server, par exemple). Pour nous, cette architecture est fonctionnelle pendant plus d'un an dans un système de production réel. P>
S'il vous plaît lire la FAQ. Cette question appelle à de vagues «expériences» et est une demande de discussion. Il n'y a pas de réponse. Il en va de même pour les questions qui ont des réponses. La mise à l'échelle n'est pas la seule question ici, au fait. pas même le principal. Le principal est-ce que vous faites confiance à Firebird assez pour le laisser grand ouvert sur Internet? Je ne. Ni aucun autre dB SQL. Peut-être que je pourrais faire confiance à SQL + SSL, avec des certificats.