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.

Reply via email to