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.
