On 08/14/2018 10:09 PM, David T. wrote: > Stephen, > > >> On Aug 14, 2018, at 4:50 PM, Stephen M. Butler <[email protected]> wrote: >> >> On 08/14/2018 04:24 PM, David T. wrote: >>> 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 >> I hoped as much. Let's take this pair of sentences: >> >> 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. >> >> And change them to this: >> >> Use of a SQL back-end engine for storage implies to many that GnuCash >> has fully implemented DBMS features including multi-user and incremental >> data manipulation. That is a long-term goal of the development team. >> However GnuCash does not currently implement these features. >> > This is great; I will use it. > >> Then I think this next section can disappear entirely: >> >> 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. >> > I’m not sure I want to remove these comments, as they are issues of > significance that have come up on the lists over the years. How about this: > > The GnuCash data schema is not normalized. Moreover, significant elements of > the data logic is implemented in code, rather than data structure. Finally, > 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. > >> And I will change this piece: >> >> 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. >> >> To say: >> One benefit of the SQL back end is that it saves changes to the back end as >> they happen. This is in contrast to the XML back end, which only writes to >> the data file when the user invokes the Save command. > How about: > One benefit of the SQL back end is that it commits changes to the file > immediately. This is in contrast to the XML back end, which only writes to > the data file when the user invokes the Save command. > > The final result for this section is this: > ——————— > Use of a SQL back-end engine for storage implies to many that GnuCash has > fully implemented DBMS features including multi-user and incremental data > manipulation. That is a long-term goal of the development team. However > GnuCash does not currently implement these features. > The GnuCash data schema is not normalized. Moreover, significant elements of > the data logic is implemented in code, rather than data structure. Finally, > 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. > One benefit of the SQL back end is that it commits changes to the file > immediately. This is in contrast to the XML back end, which only writes to > the data file when the user invokes the Save command. > ——————— > > Better? > David
Yes, that fixes the problems I saw and conveys the important pieces the user needs to know. Thanks. Steve >> >> Hope this helps. >> >> --Steve >> >>>> 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 >>>>> >>>>> >>>>> -- 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.
