Giter Site home page Giter Site logo

Comments (3)

blakeblackshear avatar blakeblackshear commented on September 24, 2024 1

Not really. I still believe we are a very long way away from the limits of what sqlite can manage in terms of performance. Even modest hardware can handle far more than what 99.999% of frigate users will ever need. Newer versions of sqlite will resolve many of the other pain points too.

A different database engine isn't going to magically make the disks faster by introducing a networking layer for communication, nor is it going to resolve any inefficient database patterns that exist. Performance is not the reason to introduce a different database option. Making the architecture distributed across multiple servers or high availability would be reasons, but I'm not sure that will ever make sense for Frigate.

Before introducing another database option for performance reasons, I want to exhaust every attempt at improving performance with sqlite.

from frigate.

NickM-27 avatar NickM-27 commented on September 24, 2024

See #3644 (comment)

from frigate.

ccutrer avatar ccutrer commented on September 24, 2024

According to that comment, @blakeblackshear is not interested in maintaining any other database, but might be open to others handling such maintenance. Is that still true @blakeblackshear? I've looked through the code a bit, and it looks like you're already using peewee ORM, which already has support for multiple backends. I know there are a few hand-written queries, but that shouldn't be too difficult to translate any idiosyncrasies. Maintaining database access from a web application is one of my primary job duties, and I have abundant experience in that area. In general SQLite is considered a relatively simple database, lacking many features that other databases have, while having only a few features that are unique to it, so using SQLite as the baseline is usually pretty easy. The one thing that SQLite does that can be difficult to translate is that SQLite's datatypes are "advisory" only - it's perfectly possible to stuff an integer into a string column, for example. If I were to run in to any uses like that in Frigate, it may require more extensive changes. What do you say, @blakeblackshear - would you accept PRs by others to add support for PostgreSQL?

from frigate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.