Performance and query logic

Viewing 4 reply threads
  • Author
    Posts
  • May 12, 2022 at 3:11 AM #47284

    Goutalco
    Participant

    Hello everybody,

    I’am new to Tap Forms 5 and have so far created two databases, one for fitness purposes and another to support my research in medieval philosophy.

    The structure of the first database is almost complete with data that tracks my activities for roughly two weeks. Its size amounts to circa 30 MB (no images or attachments) with no performance issues.

    The basic structure of the research database that comprises raw textual data of some central sources (no images , media or attachments) is more or less complete although it will presumably evolve in course of the research. Its size amounts to roughly 1.5 GB. Opening the default layout of some complex forms starts to be delayed (≈ 2 seconds).

    I think the size of the research database in a real working state could be easily 5 GB. So I like to know if I have to expect performance issues in the future.

    My second question relates to the document store (CouchbaseLite?) that underlies Tap Forms 5. I guess the structure of this store is the reason that queries are done with JavaScript rather than SQL.

    As Sam Moffatt pointed out in this thread you can can replicate all of your data into a CouchDB instance and get access to it there. What is a good starting point for a layman to learn more about the basic logic and structure of NoSql and specifically JavaScript-style queries and CouchDB?

    Cheers

    May 13, 2022 at 12:20 AM #47287

    Brendan
    Keymaster

    Hi Goutalco,

    I would recommend compacting your database documents and see if that brings the file size down. It should also improve the performance.

    The size of the document may initially increase after you compact it, but when you close and re-open it, the size will be smaller again.

    Go to the Preferences window and then the Maintenance tab to find the Compact Database button.

    As for CouchbaseLite, I don’t actually use JavaScript to fetch data from it within Tap Forms. I use a mixture of Objective-C and Swift. Even when you use the JavaScript API that I wrote, those just call out to Objective-C and Swift methods.

    As far as accessing the database outside of Tap Forms using CouchDB, that’s something that Sam is way more familiar with than I am. My goal for Tap Forms was to take all of that complexity of a database engine away from the user and give them an easy-to-use front-end to the more complex SQL engine that powers it.

    Thanks,

    Brendan

    May 13, 2022 at 1:02 PM #47298

    Goutalco
    Participant

    Hi Brendan,

    as you suggested I compact the database document and its size was brought down to roughly 50 %.

    Since I cannot accurately anticipate the course that my research will take in terms of GB I like to know if I have to expect substantial performance issues after a database document reaches a certain size, let’s say 5 GB. The data of my document consists mainly of textual data (no images or other media).

    As far as accessing the database outside of Tap Forms using CouchDB any comment from Sam will be greatly appreciated.

    Surprisingly there are not many desktop database applications out there that allow the uninitiated to create a system of interrelated data pertaining to a certain field that evolve with the person’s understanding of the field and the needs that arise with shift of interest and focus. I recently tried out some low code solutions, but they turned out to be aimed at specific (business) scenarios and are likely too inflexible for my needs. It appears that most companies find a sweet spot between hiding complexity and granting flexibility both conceived as mutually exclusive.

    Thank you for the great work,

    Goutalco

    • This reply was modified 2 years, 6 months ago by Goutalco.
    May 13, 2022 at 3:00 PM #47300

    Daniel Leu
    Participant

    It looks like @Sam has been busy lately. You might browse his GitHub repository where he has amassed different tools and scripts supporting TapForms: https://github.com/pasamio/tftools

    May 13, 2022 at 4:08 PM #47301

    Goutalco
    Participant

    Thank you for that Daniel. I will have a look.

Viewing 4 reply threads

You must be logged in to reply to this topic.