Comments (3)
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.
See #3644 (comment)
from frigate.
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)
- HTTP API login with HTTP digest authentication HOT 1
- Fallback to CPU detector when Coral is unplugged (e.g. accidentally) HOT 1
- Show the type of detected object in the event list HOT 4
- Events Tab Missing HOT 1
- Intelligent mask anchoring, invalidation, and adaptation HOT 1
- Documentation update for Synology NAS + Coral TPU to resolve coral not connecting for older NAS's running DSM 7.2.1 HOT 2
- Filter Review screen by Sub-Label HOT 1
- integrate IMOU cameras without rstp HOT 3
- Specify different record config for alerts and detections HOT 7
- Frame by frame playback HOT 1
- Use deci-fp16-yolonas model from Frigate 14 on older version Frigate 13.2 HOT 1
- Review section / Bring back the list grid of 0.13 HOT 1
- recording / snapshot on demand HOT 3
- Home IOS app doesn't see cameras from GO2RTC HOT 1
- Onvif PTZ reversed movement config HOT 2
- Updating database location prevent frigate starting HOT 1
- HA entity with HD stream when multi-stream is used via GO2RTC HOT 6
- User authorization HOT 1
- Change Valid Sign-in Session Duration HOT 1
- Birdseye background since 0.14 is gray instead of black. I'd like to request it return to true black. HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from frigate.