Steve, Thanks for your input. I believe we’re in agreement here; I wasn’t trying to suggest that GC become a DBMS, but rather it would learn to utilize DBMS features that many seem to expect.
I’m not great with the appropriate terminology to use. Do you have language I could use that would more accurately reflect the direction that GC is headed? David > On Aug 14, 2018, at 3:50 PM, Stephen M. Butler <[email protected]> wrote: > > On 08/14/2018 03:05 PM, David T. via gnucash-user wrote: >> Hello, >> >> In response to Bug 777893 (https://bugs.gnucash.org/show_bug.cgi?id=777893 >> <https://bugs.gnucash.org/show_bug.cgi?id=777893>), I have written a more >> detailed description of the storage choices available to users for insertion >> into the Tutorial & Concepts Guide at section 2.5. Given the extent of the >> text, I am including it here so that the broader community can offer >> suggestions for improvement. Note that I will insert appropriate encoding >> once I finalize the content. >> >> Thanks, >> David T. >> >> ———————————————————— >> Proposed text for Tutorial & Concepts Guide section 2.5 >> ———————————————————— >> >> 2.5 Storing your financial data >> 2.5.1 Overview >> GnuCash offers several formats for storing your financial data. The default >> file storage format is XML, while a number of flavors of SQL storage are >> available. Users can choose a file format from the File Save and File Save >> As dialogs. >> The primary GnuCash storage format is an XML file. The file is by default >> compressed with gzip, which is a preference that is set at >> Edit→Preferences→General→Use file compression. >> GnuCash also supports SQL storage via the DBI back end. It supports >> PostgreSQL, MySQL and SQLite3 databases. >> >> Storage Comparison >> As noted, GnuCash allows storage in either XML or SQL formats. Each of these >> formats has benefits and shortcomings that the user should consider for >> their needs and abilities. >> The XML format is the most stable and established format, and for this >> reason, it is the recommended format for most users. SQL storage was added >> for the 2.4 release and has become an increasingly popular choice for users. >> Use of SQL formats for storage implies to many that GnuCash is database >> management software (DBMS). While that is a long term goal of the >> development team, GnuCash as currently designed is not DBMS. It is a >> financial application that can store its data in SQL files. > > I would strongly suggest that GnuCash never (triple underscore) become a > DBMS engine. I would encourage it to be an application that uses a > strong DBMS engine (which it already does) as a back-end and that the > team would apply data normalization and multi-user techniques to the > front-end application. > > Note the difference between a front-end application and the back-end > DBMS engine. > --Steve (retired Oracle DBA and former application developer) >> Many features that users of DBMS expect from a DBMS are not implemented in >> GnuCash. The GnuCash data schema is not normalized. Significant elements of >> the data logic is implemented in code, rather than data structure. >> Gnucash uses the SQL back end to load the entire data store into memory in >> the same manner as the XML back end. Consequently, use of the SQL back end >> does not enable simultaneous multi-user access to a GnuCash file, although >> that is one long term goal. >> One benefit of the SQL back end is that it saves changes incrementally, and >> every change is committed to the back end as it happens. This is in contrast >> to the XML back end, which only writes to the data file when the user >> invokes the Save command. >> The SQL back end does allow users with SQL experience to write queries >> against the data to create custom reports without using Gnucash’s internal >> report system. It is important to note that modification of GnuCash data >> using external access modes is strongly discouraged by the development team, >> and damages to a GnuCash data file that result from such modifications are >> strictly the responsibility of the user. >> >> Storage Comparison Table >> >> XML SQL >> Default Optional >> Requires no additional software Requires additional software >> Requires no additional expertise Requires expertise with DBMS >> Compressed Uncompressed >> Save on command Save on commit >> Uses log files Does not use log files >> Not multi-user Not multi-user >> Limited external processing External processing through SQL queries >> >> >> _______________________________________________ >> gnucash-user mailing list >> [email protected] >> To update your subscription preferences or to unsubscribe: >> https://lists.gnucash.org/mailman/listinfo/gnucash-user >> If you are using Nabble or Gmane, please see >> https://wiki.gnucash.org/wiki/Mailing_Lists for more information. >> ----- >> Please remember to CC this list on all your replies. >> You can do this by using Reply-To-List or Reply-All. > > > -- > Stephen M Butler, PMP, PSM > [email protected] > [email protected] > 253-350-0166 > ------------------------------------------- > GnuPG Fingerprint: 8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8 > > _______________________________________________ > gnucash-user mailing list > [email protected] > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > If you are using Nabble or Gmane, please see > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. _______________________________________________ gnucash-user mailing list [email protected] To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.
