7 Powerful Databases Python Developers Should Know

Поділитися
Вставка
  • Опубліковано 20 гру 2024

КОМЕНТАРІ • 129

  • @ArjanCodes
    @ArjanCodes  2 місяці тому

    ✅ Get the FREE Software Architecture Checklist, a guide for building robust, scalable software systems: arjan.codes/checklist.

  • @vikaspoddar001
    @vikaspoddar001 2 місяці тому +77

    Hey @ArjanCodes, can you create video series in python instrumentation for observability i.e. metrics, log and trace at (application level, container &pod level and inter microservice )
    I love watching your video

  • @jeremywhetzel4007
    @jeremywhetzel4007 2 місяці тому +65

    I'd love to see a deeper dive on DuckDB!

  • @MagnusAnand
    @MagnusAnand 2 місяці тому +129

    Boring is good.

    • @Chris-rm1pn
      @Chris-rm1pn 2 місяці тому +2

      Came to say this 🫡

    • @zknarc
      @zknarc 2 місяці тому +3

      This. Just about everyone can use Postgres and MySQL.

    • @TheEvertw
      @TheEvertw 2 місяці тому +2

      If it ain't broke, don't fix it. But there are uses for these specialized db's.

    • @AhmedIsam
      @AhmedIsam 2 місяці тому +1

      @@TheEvertw but the selling is wrong, you don't use them because they are cool.

    • @tbtitans21
      @tbtitans21 2 місяці тому +3

      Yep this, boring is generally stable and reliable. So keep your sanity

  • @rilauats
    @rilauats 2 місяці тому +1

    THX, Arjan. I know several of these databases. My first code written as part of a job was way back in 1985, it's been a while.
    I remember Oracle 5 struggling on PC server to join 4 tables containing almost no rows.
    I remember myself proposing relational DB will be inherently slow and die off quickly before ever making market impact.
    Technology advances, the world changes, and we all learn.
    I enjoyed your quick tour de chambre of databases. Good way to expand everybody's view on what a database really is = a technology to efficiently store and access data.
    Keep up your good work!

  • @coreyms
    @coreyms 2 місяці тому +22

    I’m convinced… mission critical ChatGPT data storage, here I come!

    • @anantharjun9662
      @anantharjun9662 2 місяці тому

      I too ✨

    • @suvidani
      @suvidani 2 місяці тому

      We have to make sure all those shiny Nvidia cards are put into good use!

    • @touchbase-e9k
      @touchbase-e9k 2 місяці тому +1

      I know python because of you Corey. Thanks

  • @thesupercoach
    @thesupercoach 2 місяці тому +22

    You're going to need better than that to convince me not to use Postgres.

  • @alansnyder8448
    @alansnyder8448 2 місяці тому +3

    I think a good set of videos is to start with the topic. "geospatial databases" and then talk about the "geospatial" features in each database. (i.e. Redis, Tile38, PostgreSQL, and even DynamoDB with an extension) and then compare databases against each other, to help us decide at what point so we use a generalist database (Redis / PostgreSQL) with a geospatial feature, versus getting a specialized database like Tile38.
    I mention geo-spatial since that is my biggest need, but a network database is right behind that.

  • @johnvillalovos
    @johnvillalovos 2 місяці тому +16

    As a note. "J" is pronounced as "jay". So I would think Neo4j is pronounced, neo-four-jay. The letter "G" is pronounced as "gee"

    • @oncedidactic
      @oncedidactic 2 місяці тому

      Differs in other languages ;)

    • @k98killer
      @k98killer 2 місяці тому +2

      I learned a few months ago that they are exactly the opposite way around in French. 🤷‍♂️

    • @1DwtEaUn
      @1DwtEaUn 2 місяці тому +1

      C is redundant in American and English, soft C is an "ess" aka S, hard C is "kay" aka K

  • @ademhilmibozkurt7085
    @ademhilmibozkurt7085 29 днів тому

    Your contents are awesome! Please Arjan, make a large scale real life program with Python. This could include database processes, file operations, performance improvement, computing and web. I will write this comment every video of you I watch :). Greetings

  • @Jugular1st
    @Jugular1st 2 місяці тому +11

    Yes to DuckDB, but for me its about how does it differ from what can be done with Polars.

    • @zknarc
      @zknarc 2 місяці тому +2

      Spills to disk very well when you have bigger than memory data, not a strength of Polars. You can use all sorts of different languages with it, not just Python. Lots of people know SQL. It is a db with db features like constraints and indexes.

    • @oncedidactic
      @oncedidactic 2 місяці тому

      SQL and joins across data sources

  • @AA-rd6nm
    @AA-rd6nm 2 місяці тому

    Excellent.. You are always to the point, which I like most...

  • @michaelmarinos
    @michaelmarinos 2 місяці тому

    Great Video Thank you ! i am using PostgreSQL (with GIS extension) and Redis for cache. I d love to see comparison DuckDB vs SQL based

  • @IAmNigHtMaReTR
    @IAmNigHtMaReTR 2 місяці тому +1

    18:29 no, only MongoDB Atlas supports vector similarity search

  • @hahue4742
    @hahue4742 2 місяці тому +2

    Thanks for this Video. I always like content that makes you reflect about architecture decisions. Another Database that seems interesting to me is ArangoDB

  • @thomasbooij6239
    @thomasbooij6239 2 місяці тому

    Nice video Arjan. I think session management with openAI is already implemented through the newish OpenAI Assistants API. Just use the same assistant with the same thread ID, and enjoy your key value store!

  • @sephirothu1290
    @sephirothu1290 2 місяці тому

    @ArjanCodes, man thank you so much for these contents you upload for us, very helpful, well described, and when you explain things, you make them look very easy, please keep up the amazing work

  • @edgeeffect
    @edgeeffect 2 місяці тому +4

    Influx DB looks VERY INTERESTING! We use RRD for this function and it has the most awful, clunky API you can possibly imagine. I think learning Flux Query Language would be easy-peasy-lemon-squeezy compared to navigating the tortuous documentation of RRD. :)

  • @fabiolean
    @fabiolean 2 місяці тому +1

    I would love to see a video about non-typical SQLite use cases. It's so flexible and lightweight and I feel like people are sleeping on it just because it's not for a client/server role. I started using it as a local K:V store because I didn't wanna bother with something like redis, and I'm quite impressed.

    • @ArjanCodes
      @ArjanCodes  2 місяці тому

      Using SQLite for caching is a really great use case!

  • @jamess1787
    @jamess1787 2 місяці тому

    I have a project that coukd benefit from duckdb i think, data isnt important enough for long term storage, but good to see at a glance as a technician or team of technicians. Perfect

  • @sergiocontreras7563
    @sergiocontreras7563 2 місяці тому

    Thanks Arjan Influxdb was exactly what I was looking for my testing analytics… great episode 👏👏👏

  • @modest_supreme
    @modest_supreme 2 місяці тому +1

    I would be interested in a deeper dive on DuckDB.

  • @mikekaspari1357
    @mikekaspari1357 2 місяці тому +1

    I'm very interested in more DuckDB content.

  • @mahdikazemi762
    @mahdikazemi762 2 місяці тому

    I can't wait for going deeper into the duckdb

  • @sangeeth6655
    @sangeeth6655 2 місяці тому +1

    There seems to be some issue with signing up for your newsletter and guides. I tried a few times and it is not working. Can anyone else confirm?

  • @higiniofuentes2551
    @higiniofuentes2551 2 місяці тому +1

    Thank you for this very useful video!

    • @ArjanCodes
      @ArjanCodes  2 місяці тому +1

      Glad you enjoyed it!

  • @preadaptation
    @preadaptation 2 місяці тому

    Thanks

  • @AlanRJones
    @AlanRJones 2 місяці тому

    Fantastic video, both educational and wise

  • @NostraDavid2
    @NostraDavid2 2 місяці тому +2

    More about DuckDB - maybe a DuckDB vs Polars video? It feels their features heavily overlap, but I'm not sure.

    • @Michallote
      @Michallote 2 місяці тому

      I don't like the implicit nature of duckDB. Constantly grabs objects that exist in a local scope. Polars on the other hand is much more stable because it is very explicit. I have had to fix data scientist's code many times because they didnt realise secondary effects of many duck db operations. Also duck db absolutely messes up the linter and static type checking tools.

  • @shaddwatson1833
    @shaddwatson1833 2 місяці тому

    @ArjanCodes - Would you mind exploring Mojo more, for those who are looking to harness the power and speed it can provide for Python users? There are many topics related like ownership, life cycles, traits, and pointers which are foreign concepts to many of us.

  • @radum945
    @radum945 2 місяці тому

    what extension do you use for Python in vsc?

  • @cabrelngako8877
    @cabrelngako8877 2 місяці тому

    Hope you will soon prepare a tutorial on uv package manager

  • @danjolly9505
    @danjolly9505 2 місяці тому

    duckdb is one of my new favorites. it takes the best of data frames and sql and mashes it together. Its awesome.

  • @김주영-x7w4s
    @김주영-x7w4s 2 місяці тому

    PostGIS vs Tile38
    can i check benchmark about that?

  • @oncedidactic
    @oncedidactic 2 місяці тому

    Loving duckdb for the simplicity of SQL based analytics on heterogeneous data sources

  • @joaopedrorocha5693
    @joaopedrorocha5693 2 місяці тому +1

    I don't understand why people say duckdb is cool ... feels just like sqlite but with the flexibility to work directly over dataframes or files ... but why would i use that instead of just loading the files with some specialized dataframe package like pandas, polars or vaex?
    It would be cool to see a video on it!

    • @gr8838
      @gr8838 2 місяці тому +1

      Can be quicker to than Polars and definitely is quicker than pandas.
      It is really useful when you work with team that are sql heavy/mixed and where there is a lot of legacy sql code to integrate.
      It's also lighter to setup (I sometime just use the cli or the exe).
      You can also take creative approach to your pipeline and apply the transformation that are clearer in sql using DuckDB and then continue using your dataframe package. I'm not saying it's a good idea but I did it for a few transformation and it worked really well.
      I feel like for some bigger than ram dataset it can be better than Polars and also is more mature for the moment if that makes sense.
      I also find that the "ergonomics" of DuckDB is really where it shine:DuckDB is the easiest way to use sql from python IMO not saying that other tools are difficult but DuckDB is dead simple.

    • @zknarc
      @zknarc 2 місяці тому +1

      Spills to disk very well when you have bigger than memory data, not a strength of Polars. You can use all sorts of different languages with it, not just Python. Lots of people know SQL. It is a db with db features like constraints and indexes rather than another dataframe lib.

    • @joaopedrorocha5693
      @joaopedrorocha5693 2 місяці тому

      Cool! Thanks for the answers! Will take a closer look at it.

    • @oncedidactic
      @oncedidactic 2 місяці тому

      I am using in prod right now as the key piece in a data lakehouse architecture for analytics. It’s soooo nice to have a one stop shop for writing SQL queries that pull from parquet, csv, a few live databases, with zero friction. And it’s super fast for analytical queries on medium sized data.
      You could do this with an ORM on top of a bunch of Python connectors and leverage polars or whatnot too, but it just feels simple clean and fast to have it in duckdb

  • @Mutombo71
    @Mutombo71 2 місяці тому

    Is there something like gdbm or newer available? Focus is on newer.

  • @kellymoses8566
    @kellymoses8566 2 місяці тому +2

    Neo4j is just fun to use.

  • @djtoon8412
    @djtoon8412 2 місяці тому

    I have never used guess it time to give it a try, can we get your views on using typesense in python projects using fastapi or postgres full text search.

  • @Heisenberg2097
    @Heisenberg2097 2 місяці тому

    Looking at the speed increase of SSD esp. over the last four years... consider using a DB at all.

  • @hipertracker
    @hipertracker 2 місяці тому

    What about ArangoDB? a hybrid DB, RDBMS+Graph,Document, better than Neo4j IMHO. There is also one more interesting UnrealDB

  • @kopytko998
    @kopytko998 2 місяці тому

    Please create series on duckdb.

  • @EngineerNick
    @EngineerNick 2 місяці тому +1

    DuckDB is sooooo good

  • @d3stinYwOw
    @d3stinYwOw 2 місяці тому

    CockroachDB is also interesting thing to check :)

  • @BlueIced256
    @BlueIced256 2 місяці тому

    Why Redis?! I have it already replaced with KeyDB.

    • @BlueIced256
      @BlueIced256 2 місяці тому +1

      BTW, Postgresql is getting a vector engine too...

    • @southpole76
      @southpole76 2 місяці тому +2

      curious why not Valkey?

  • @tiolv1174
    @tiolv1174 2 місяці тому

    DuckDB is really very useful.

  • @tsando1982
    @tsando1982 2 місяці тому

    Postgres x TimeScaleDB vs Influx ?

  • @ondskabenselv
    @ondskabenselv 2 місяці тому +2

    I guess Postgres can do most of these tasks using extensions of 😅

  • @rochacbruno
    @rochacbruno 2 місяці тому

    OrientDB is also very interesting

  • @djordjen9424
    @djordjen9424 2 місяці тому

    What about PocketDB?

  • @matthewcane0
    @matthewcane0 2 місяці тому

    What about DNS as a database!

  • @rantallion-hr5xp
    @rantallion-hr5xp 2 місяці тому

    What about Clickhouse?

  • @Dara-lj8rk
    @Dara-lj8rk 2 місяці тому

    I'll watch your duckdb video when done

  • @andrewmenshicov2696
    @andrewmenshicov2696 2 місяці тому

    me hearing Arjan pronouncing Milvus as Milfus:

  • @kellymoses8566
    @kellymoses8566 2 місяці тому

    Neo4j has vector support.

  • @YouBoredom
    @YouBoredom 2 місяці тому

    Flux is being deprecated for influxdb 3 fyi

    • @ArjanCodes
      @ArjanCodes  2 місяці тому

      True, but I wanted to stick to open source here, and that is still on version 2.

  • @VolodymyrMoon
    @VolodymyrMoon 2 місяці тому

    RocksDB?

  • @jamesmiller2521
    @jamesmiller2521 2 місяці тому

    sqlite is all you need

  • @NostraDavid2
    @NostraDavid2 2 місяці тому

    RE: Rediculous DBs - did you know Python has a built-in DB? No, not SQLite! It's called dbm. It's not even relational - it can just store dicts for you! 😂

  • @fabrizio.dipietro
    @fabrizio.dipietro 2 місяці тому

    Duckdb, pocketdb

  • @seanmills3502
    @seanmills3502 2 місяці тому

    The person who invented DuckDB is a quack. 🦆

  • @digiryde
    @digiryde 2 місяці тому +3

    Keep it simple... CSV? 🤣

  • @bnssoftware3292
    @bnssoftware3292 2 місяці тому

    I'll stick with "boring" postgres

  • @adamfarquhar1279
    @adamfarquhar1279 2 місяці тому

    These days, Postgres is very very good. You need a good reason not to use it. It is free, mature, scales, has good IDE support, good python support, extensions for everything, and great Docker packages. And if you want third-party support, it is easy to find at every level.

  • @damonguzman
    @damonguzman 2 місяці тому

    Did he really call it “Readis?”

    • @ArjanCodes
      @ArjanCodes  2 місяці тому

      Yes. I was referring to only half of the database interface. The other half is called Writis.

  • @ErikS-
    @ErikS- 2 місяці тому

    "new query language like flux"
    - naaaaah... NO!

  • @digiryde
    @digiryde 2 місяці тому

    Database education and Making Interns cry... LMAO!

  • @thghtfl
    @thghtfl 2 місяці тому

    love your boozy demoes

  • @jamtart22
    @jamtart22 2 місяці тому

    Don't use any of these. Just use Postgres

  • @igoryurchenko559
    @igoryurchenko559 2 місяці тому

    WTF? Who cares what's boring for you guys if they do their work well...

  • @nuurnwui
    @nuurnwui 2 місяці тому

    What about xml databases?

  • @kittentikkamasala69
    @kittentikkamasala69 2 місяці тому

    Was that an official endorsement of hitting interns with mechanical keyboards??! Watch out, you'll get cancelled with talk like that!
    All joking apart, this was very timely and useful information for me. Thanks!

  • @bernardlemay8563
    @bernardlemay8563 2 місяці тому

    Boring is not a valid argument.