PostgreSQL及timescaleDB初探

一、PostgreSQL及timeescaleDB的定义(是什么)

PostgreSQL:PostgreSQL是一种类似于mysql的关系型数据库管理系统,是以加州大学计算机系开发的POSTGRES为基础的对象关系型数据库管理系统。PostgreSQL 使用名为 PostgreSQL 的许可证,类似于 BSD/MIT。它属于开源软件,C++实现的。

Timescaledb:首先它是时序数据库,是作为postgresql扩展的一个服务。它的生态是基于PostgreSQL的。Timescaledb是 timescale.inc开发的一款兼容sql的时序数据库, 底层存储架构在postgresql上。在timescaledb上 数据必须抽象为一张二维表。 关于怎么设计这张二维表, timescaledb给出了narrow table 和wide table的两个范式。

二、为什么要用PostgreSQL及Timescaledb

作为我使用最根本的原因是项目招标文件中指定以及arcgis(postgis)的因素。

那除去这些主观因素,还有什么其它因素呢,我们先来看一下数据库的排名:


数据库趋势曲线(截止到2022.11.5)

目前PostgreSQL直逼三巨头(oracle,mysql,sqlserver),再借用一张图来说明:

再借用一段话:MySQL流行度位居第二,但树大招风,处于前有狼后有虎,上有野爹下有逆子的不利境地:在严谨的事务处理和数据分析上,MySQL被同为开源关系型数据库的PgSQL甩开几条街;而在糙猛快的敏捷方法论上,MySQL又不如新兴的NoSQL产品。同时,MySQL上有Oracle父爱如山,中有MariaDB兄弟分家,下有诸如TiDB/OB之类协议兼容的NewSQL逆子造反,因而也止步不前。唯有PostgreSQL迎头赶上,保持着近乎指数增长的势头。如果说几年前PG的势还是Potential,那么现在Potential已经开始兑现为Impact,开始对竞争对手构成强力挑战。

Oracle作为老牌商业软件,才毋庸质疑,同时作为业界毒瘤,“德”也不必多说,故曰:“有才无德”。MySQL有开源之功德,但它一来采用了GPL协议,比起使用无私宽松BSD协议的PgSQL还是差不少意思,二来认贼作父,被Oracle收购,三来才疏学浅,功能简陋,故曰“才浅德薄”。

德不配位,必有灾殃。唯有PostgreSQL,既占据了开源崛起之天时,又把握住功能强劲之地利,还有着宽松BSD协议之人和。正所谓:藏器于身,因时而动。不鸣则已,一鸣惊人。德才兼备,攻守之势易矣!

PostgreSQL的生态:

postgreSQL 生态

用个搞笑的图放一下:

开源比较:

mysql:GPL。衍生软件也要开源。

PostgreSQL:PostgreSQL,衍生软件可商业化。因些生态更好。

三、怎么用PostgreSQL及Timescaledb

a.安装略过,自行搜索。

b.栗子:

创建标准表:

CREATE TABLE conditions (

time TIMESTAMPTZ NOT NULL,

location TEXT NOT NULL,

temperature DOUBLE PRECISION NULL,

humidity DOUBLE PRECISION NULL

);

以时间字段作为分片字段,将标准表转换为超表:

SELECT create_hypertable('conditions', 'time');

在超表中进行插入和查询操作:

INSERT INTO conditions(time, location, temperature, humidity)

VALUES (NOW(), 'office', 70.0, 50.0);

SELECT * FROM conditions ORDER BY time DESC LIMIT 100;
展开阅读全文

页面更新:2024-03-22

标签:逆子   时序   字段   宽松   生态   因素   协议   关系   数据库   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top