Why do so many programs use relation databases instead of loading the data during startup and keeping it in memory? Especially for smaller datasets I would think, that a database adds unnecessary complexity and overhead. Also, a lot of data can be saved using modern RAM and when using an in-memory approach, optimized data structures can be utilised to further improve the performance

Edit: yes I meant relational databases

  • fsniper@kbin.social
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    First, persistency. You data lifecycle may not be directly proportional to your applications lifecycle. You may need it even after the app is shut down.

    Second, RDBM systems provide a well defined memory/storage structure and API - “structured query language”. This enables you to easily query your data and acquire suitable views that are beneficial for your applications purposes.

    Third, It’s always better to outsource your data layer to a battle tested, and trustworty database then trying to reinvent the wheel.

    So this paves a road for you to focus on your business logic than splitting that focus for the data layer and business logic.

    • thoughts3rased@sopuli.xyz
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      And also it may save you down the road.

      Sure, your dataset might not be big now but what about in a year’s time? It’s easier to start out using a database than to have to transition it later.