Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>I see a few issues with the idea of persisting business data using object serialization:</strong></p> <p><em>These aren't necessarily show-stoppers for the idea, but rather something to think about...</em></p> <ol> <li>The data can't be queried, reported or inspected. It's entirely opaquely captured by the application.</li> <li>Debugging serialized data is harder than being able to view the corresponding data in a database, or even a format like CSV.</li> <li>There's no atomicity - it possible to corrupt your entire "database" with one power failure or application crash.</li> <li>If the data model changes, updating the existing persisted entities requires a version of the app that can read both the old and new format. With a database, you can just add a column (or sub table).</li> <li>There's no clean way to implement concurrent access. What happens if more than one user want to view or edit the data?</li> </ol> <p><strong>One thing I've learned, is that small apps tend to grow and become "large apps".</strong> When organizations guess incorrectly about the potential value of an application, they tend to incur the costs of this kind of unexpected, organic growth later. </p> <p>You also mention that you liked at SQLLite and didn't like it. What is it that you didn't like? What kinds of problems did you anticipate? </p> <p>If you're just looking for a way to "cut corners" to get this done quicker - that may be ok in the short term - but be careful - <em>these kinds of decisions have way of coming back to bite you</em>.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload