Qui open source de base de données est la meilleure option pour une comptabilité liées au système?
Je suis dans les premiers stades de la planification et de la conception d'un custom application de comptabilité pour mon cabinet. Mon but est d'utiliser de l'open source de base de données relationnelle pour le stockage des données en partie et je suis conscient de deux solides bases de données qui sont largement pris en charge: MySQL et PostgreSQL.
Pour un système qui va exiger des opérations, des procédures stockées, des fonctions et de la sécurité, il y a aucune opinion sur laquelle de ces deux bases de données la mieux adaptée à une application de comptabilité ou est-il une autre base de données que je suis absent?
Je suis plus familier avec MySQL et MS sql server 2005, mais je suis en train d'essayer de s'éloigner de ce dernier en raison de coûts de licence.
Permettez-moi d'ajouter: Ce n'est pas une comptabilité tels que Quickbooks ou Peachtree. C'est essentiellement un système qui gère la comptabilité d'une entreprise de service que nous fournissons. Il y a peut-être deux ou trois systèmes qui répondent à ce besoin, sont des prix dans les six figure, avant de personnalisation, et aurait besoin de ma petite entreprise pour être marié à un fournisseur pour le long terme. Ainsi, nous sommes la génération de l'application en interne.
Aussi, même si j'apprécie l' Acheter vs Construire argument, j'aimerais déplacer à l'écart de cette question religieuse parce que l'achat de la route a déjà été prises et le vendeur a échoué lamentablement. Parfois, vous avez juste besoin de faire le travail vous-même et de ce projet en particulier et le budget de bons de souscription.
Merci pour chacun de réponses à ce jour.
Cela fait quatre ans - comment cette aventure a travailler pour vous? Avez-vous fini le système? Ne les fonctionnalités et le coût, vous êtes à répondre à vos besoins? Je serais curieux de savoir. Votre faible rep suggère que vous n'êtes pas actif pour le plus ici.
OriginalL'auteur Randy Burgess | 2009-01-05
Vous devez vous connecter pour publier un commentaire.
Il y a quatre principales open source de base de données relationnelles les systèmes de gestion de remarque qui pourrait être approprié pour ce genre d'application: Postgresql, MySQL, Firebird et Ingres. Il existe d'autres systèmes tels que SQLite, mais ils n'ont pas ce type d'architecture, et ne sont pas vraiment conçus pour ce type de charge de travail. Certains autres open-source de gestion de base de données des systèmes de ce type existent, mais ne semble pas être fortement viable pour une raison quelconque, comme une apparence de non-engagement du fournisseur. Un exemple d'un système qui a ce type de question est SAP-DB.
Postgresql a la meilleure caractéristique de toute l'open-source, bases de données, et le soutien pour les transactions XA, vous voudrez probablement si votre application est un système à trois niveaux et prend en charge les transactions de non-trivial de la complexité. En particulier, vous aurez besoin si vous voulez faire des transactions couvrant plus d'un appel à la base de données.
Plusieurs variantes commerciales de PostgreSQL ont été construits au fil des années, comme Illustra, Greenplum et EnterpriseDB. Illustra était une version commerciale de PostgreSQL qui a ensuite été acheté par Informix. Greenplum est un mofified version conçue pour l'entreposage de données des applications. EnterpriseDB est une société qui fournit des prises en charge des versions commerciales de PostgreSQL avec une certaine valeur ajoutée du logiciel.
MySQL 5.x est un ensemble de fonctionnalités qui prend en charge raisonnable de la section transversale de capacités, mais il n'est pas aussi riche en fonctionnalités que PostgreSQL. Il a de plus en plus répandue, l'acceptation du public et serait la plus facile de la base de données open source de gestion de systèmes pour recruter des développeurs compétents. Bien que des versions plus anciennes n'ont pas robuste support de transaction, les opérations de stockage les moteurs comme InnoDB ont été disponibles pendant un certain temps. Le actuel la politique environs l'acquisition par le Soleil ont généré code fourches et MySQL paysage est un peu salissant, avec la controverse sur les problèmes de qualité dans la version 5.1. Toutefois, MySQL est de loin le plus populaire et le plus connu de la base de données open source de gestion de systèmes et est le seul avec une importante marque de reconnaissance à l'extérieur de l'open-source cercles.
Firebird est une version open-source de Interbase. Le dernier que j'ai regardé, il n'avait pas de prise en charge XA, mais ce serait bien si votre application a été établi comme un deux-tier système client-serveur. Mise à jour: je ne peux pas trouver une spécification définitive sur ce point, mais la documentation n'indique qu'il a un support pour validation à deux phases, mais ce que j'ai pu trouver ne précise pas si il pris en charge le protocole XA. La documentation implique que le pilote JDBC est prise en charge pour les deux phases s'engage.
Une intéressante variante de ce système est Fyracle, qui est conçu pour offrir un degré de compatibilité avec Oracle. Cela a été initialement développé pour une utilisation en tant que back-end pour Compiere, qui a été construit contre Oracle et assez étroitement couplés à.
Ingres est maintenant disponible avec une licence open-source, mais a été accueillie avec un peu d'un bâillement collectif par la communauté open-source. Cependant, Il est très riche en fonctionnalités et très mature - je connais des gens qui faisaient INGRES applications en 1990, et elle remonte aux années 1980.
Nice évaluation équilibrée.
Je suppose qu'il vaut la peine de mentionner Derby si dans un environnement Java, en tant que bien, mais je n'ai pas vu un argument particulièrement convaincant pour son utilisation.
+1 pour PostgreSQL. MySQL est une belle Base de données Web, mais il n'est pas vraiment une bonne histoire sur le plan de l'intégrité des données, et le "Oops, nous n'avons de nouveau" blog post concernant MySQL 5.1 n'aide pas non plus. Il n'est pas mauvais, mais je ne voudrais pas l'utiliser pour la comptabilité.
+1 pour Firebird. Firebird 2.1 comprennent de nombreux Fyracle amélioration
OriginalL'auteur ConcernedOfTunbridgeWells
Mon conseil? Ne le faites pas. Mieux vaut en acheter un. Les gens qui en savent plus sur la comptabilité de ont écrit de bons paquets qui ont déjà traité avec les PCGR. Ils ont une plus grande base d'utilisateurs que vous aurez jamais, qui permettra de découvrir les défauts de plus en plus vite. C'est un classique "acheter contre de construction". Il n'y a aucun avantage concurrentiel à votre entreprise par l'écriture de leur propre. Si vous le faites parce que vous êtes inquiet au sujet de coûts de licence, je dirais que vous n'avez pas comptabilisés pour le développement de l'heure correctement. C'est la seule manière de justifier le faire en interne.
Avec cela dit, si vous êtes inquiet au sujet de frais de licence SQL Server, je vous recommande de PostgreSQL première ou MySQL deuxième en tant que votre base de données de choix.
Merci pour la réponse. Habituellement, je serai d'accord avec ce sentiment, mais dans ce cas, le système de comptabilité besoin est très atypique. Il y a seulement deux propriétaires de systèmes de comptabilité qui se rapportent à ce besoin particulier, et les deux sont des prix dans les six chiffres pour juste l'installer. Par conséquent, notre équipe de dev.
sbinfocanada.about.com/od/accountin1/tp/accountsoft.htm
Puis ma deuxième recommandation est - PostgreSQL serait mon open source de choix.
Merci, c'est ma faute pour ne pas mentionner que c'est fondamentalement une comptabilité+ type de système.
OriginalL'auteur duffymo
Je suis d'accord fortement avec les réponses de duffymo et tuinstoel et les autres. Reconsidérer votre construire ou d'acheter. Permettez-moi de vous raconter une histoire:
Alors que je travaillais dans une société de taille moyenne (> 100 M$/an de revenus), la CAF a décidé de remplacer les systèmes financiers avec Oracle Financials. Seulement que le paquet ne correspond pas exactement les pratiques comptables utilisées par la société.
De sorte que la CAF a engagé une équipe de contrat de programmeurs, et les a payés pour personnaliser Oracle Financials le préféré des pratiques comptables. Elle a coulé 12 mois de temps, 1 million de dollars dans le programmeur de salaires, plus le coût initial du logiciel, juste de reproduire le système de comptabilité qu'ils avaient l'intention de les remplacer.
Elle a dit que si elle avait à faire sur une fois de plus, elle allait acheter le logiciel commercial, mais d'adapter le comptable de la société, les habitudes les valeurs par défaut pris en charge par le logiciel. Ça serait beaucoup plus facile, plus rapide, et plus de chances de réussir.
Afin de tenir compte du coût de la construction de votre propre package personnalisé. Également considérer le coût pour votre entreprise de maintanance, le débogage et l'amélioration de ce logiciel. Même si acheter un six-figure de l'offre commerciale, qui sera probablement moins cher que de payer les programmeurs de développer et de maintenir un tel système.
Pour répondre à votre question plus directement, je ne pense pas qu'il y a une différence significative entre PostgreSQL et MySQL, qui est pertinente à votre projet. Depuis que vous êtes à l'aise avec MySQL, vous pourriez aussi bien aller avec qui.
Je tiens à offrir une obligation de rappel de ne pas utiliser inexact types de données comme les
FLOAT
ouDOUBLE PRECISION
pour les données financières.Pour la vie de moi je ne peux pas comprendre comment quelqu'un pourrait avoir voté cette réponse vers le bas. Un excellent point, et bien écrit.
Croyez-moi, j'apprécie cette position. J'ai sous-traité presque toutes les fonctions techniques de ma petite entreprise (20 personnes) parce que j'ai l'habitude de côté avec les "Acheter" argument, mais ce projet est différent en termes de besoins et de son budget.
C'est la réponse, alors. Bonne chance!
Eh bien, je pense que votre franchise au sujet de Acheter vs Construire est justifiée. La contrepartie de ce débat doit TOUJOURS être demandé lors de la prise de décisions relatives à l'application. Il se trouve que BvB était déjà décidé avant j'ai posé la question...une question qui semblait assez amateur dans mon premier poste.
OriginalL'auteur Bill Karwin
Pour tout application qui veut utiliser une base de données open source, les mains vers le bas la réponse est Postgres. C'est BEAUCOUP plus "enterprise ready" de MySQL, pour ne pas mentionner qu'il suit la norme SQL beaucoup mieux. MySQL s'est beaucoup amélioré avec ses versions ultérieures, mais Postgres bat encore dans chaque catégorie.
OriginalL'auteur Wayne Molina
Il y a l'open source gratuit de systèmes de comptabilité. Comme osFinancials. Je ne comprends vraiment pas pourquoi vous voulez construire votre propre système?
L'adaptation d'un package existant comme osFinancials pourrait faire de bon sens. Problème avec osFinancials plus précisément, c'est qu'apparemment il utilise l'ancienne Delphes composants qui ne sont plus disponibles. Semble que le osFinancials les mecs ne sont pas exactement dans un pressé de remplacer ces...
OriginalL'auteur tuinstoel
Pour votre application, il ne sera pas vraiment d'importance. Rien de sqlite à MySQL à Postgresql serait probablement très bien fonctionner. Choisissez celui que vous êtes plus familier avec.
OriginalL'auteur Ross
Firebird - http://www.firebirdsql.org/
OriginalL'auteur jussij
Si vous êtes familier avec MySQL puis l'utiliser.
Mais sélectionnez le bon moteur de base de données au lieu de la valeur par défaut MyISAM
Liste de Moteurs de Stockage
OriginalL'auteur Malx
Honnêtement, tout des suspects habituels fera le travail. Le maintien de la charte des comptes et des tables de données liées est la racine du problème qui a conduit la plupart de tous le modèle relationnel. En fait, si vous pensez à ce sujet le journal général de vue d'un système de comptabilité, tout ce que vous ont est le tableau de comptes et le grand journal, composé de l'opération, la date, la description, le compte à débiter et le montant, compte de crédit et le montant. Tout ce que vous faire est de SÉLECTIONNER sur ceux-ci.
cela dit, si, il y en a tellement parfaitement adéquat, bien-testé et accepté montages financiers, y compris l'open-source libre (comme dans la bière), les versions, sauf si vous l'entendez pour une étude, un projet d'étude, j'avais mis mon effort dans la recherche sur google et en sélectionnant un.Vu votre mise à jour. Le truc, c'est que c'est une question qui est principalement déterminée par les exigences non fonctionnelles. Allez-vous distribuer la base de données sur plus d'un serveur? combien de charge attendez-vous? Les Transactions par seconde, ou de transactions par jour? J'ai construit des systèmes de partout à la fois dans les deux dernières années, et c'est généralement la fiabilité et avilability exigences qui sont les plus déterminantes: PostgreSQL traite avec les mises à jour simultanées d'une même ligne de manière plus efficace, par l'application de la ligne de l'atomicité et la sérialisation des mises à jour simultanées. D'autre part, MySQL semble traiter avec de très grandes bases de données mieux. Une troisième question est de sauvegarde --- l'un d'eux (je ne me souviens pas qui-en un dès maintenant) plus ou moins nécessite un certain temps pour la sauvegarde.
OriginalL'auteur Charlie Martin
Pour une maison basé sur le web application comptable, vous pourriez être mieux avec des pierres précieuses comme gratuit mais pas open source base de données d'objets et de bord de Mer comme le framework web. Autrement connu comme le VERRE.
Pour une application maison, vous allez être limitée dans le développeur de l'effort. Pierre précieuse, comme smalltalk image, offre le meilleur de la productivité des développeurs, et de loin. Son soutien pour la migration des objets lors de la modification de leur définition permet un véritable développement itératif. Bord de mer remplace les modèles par un domaine spécifique de la langue pour développer des applications web.
OriginalL'auteur Stephan Eggermont
- Je construire logiciel de comptabilité sur PostgreSQL. Il fonctionne très bien. Je le recommande fortement. En fait (shameless plug), vous pourriez envisager de travailler avec nous pour améliorer notre projet et de l'utiliser comme un point de départ.
Il ya un couple de raisons, en particulier:
Firebird et Ingres va vous donner une très solide solution relationnelle. MySQL je ne le recommande pas parce que vous êtes vraiment à tout lier à une application seulement que peut écrire à la db (mode sql soupe signifie que les relations sont en fait une API privée au lieu de l'API publique, ils sont dans PostgreSQL, Firebird, et Ingres), ce qui signifie moins de souplesse en bas de la route.
Cependant, avec PostgreSQL, vous obtenez un haut-de-gamme, extensible plate-forme de développement dans une boîte. Le rythme de développement est élevé. Il est solide comme un roc. Les fonctionnalités avancées sont très utile. Vous ne serez pas déçu. Nous n'avons pas été.
OriginalL'auteur Chris Travers
Si c'est une application de bureau, vous voudrez peut-être regarder à SQLite. Il est très bien connu, dans le domaine public, et pas très difficile de travailler avec.
OriginalL'auteur Scott
Puisque vous n'avez pas besoin procédures stockées, l'enlever de votre liste.
Vous serez beaucoup plus heureux de mettre de la logique métier dans le code, pas dans la base de données. Si vous avez la chance de commencer à "nettoyer", puis utiliser la base de données pour ce qui fait le plus de sens -- la persistance du traitement.
Une fois que vous prenez cette décision, les subtiles différences entre MySQL et PostgreSQL en aller. Les deux sont relationnel moteurs de gérer à peu près identique SQL. Se concentrer sur les choses qu'ils font le mieux.
Recommandation: Faire de votre application indépendante de toute base de données particularités.
Votre commentaire ressemble SPs sont mortels, même si vous êtes déjà plus à l'aise avec eux. De mauvais conseils.
SP ne sont pas mortelles, mais je ne l'ai jamais vu travailler dans le long terme. Faisant partie du processus de prise de décision est une erreur.
Depuis il n'y a pas de fond pour les procédures stockées, il n'est pas religieux. C'est mon expérience au cours des 20 dernières années de SGBDR d'utilisation. Votre expérience peut être différente.
SP ne sont pas mauvais, mais est juste une autre partie d'un projet que vous avez à maintenir, de débogage et de fixer. Je préfère le faire sur le code et gardez un peu plus de contrôle sur elle.
OriginalL'auteur S.Lott