数据库的众多优点之一是它们通常试图将数据在内部的表示方式(例如在磁盘上)与数据使用方式分开。甚至 不将数据存储在运行查询的同一硬件上已成为常态。
数据库在这方面已经做得非常出色,以至于这个术语现在几乎具有误导性。“数据库”暗示着某种坚固的东西,没有它数据就会消失。但数据始终存在,只是无名硬盘上的一些位。现代数据库提供的结构和可访问性完全独立于硬盘而存在。没错——大多数数据库中不再包含任何数据。
DuckDB是为这个时代构建的数据库,并且是一个特别可爱的数据库。
假设您运营一家自动驾驶出租车服务公司。并且您在 Blob 存储中维护着一个不断增长的有趣乘车模式数据集,您希望更好地了解这些模式。这些数据被拆分成每天的单独 Parquet 文件。您如何与分析师共享该数据集?
你可以直接把所有东西都邮寄给他们,但这样数据集就太大了。而且它会立即过期。如果这是一篇博客文章,你只需发送一个链接,但这里实际上没有任何东西可以链接。而向某人发送一百个指向 S3 中的原始 blob 的链接可能会破坏任何工作关系。
相反,你可以为他们建立一个小型数据库: