一、PostgreSQL及timeescaleDB的定义(是什么) PostgreSQL:PostgreSQL是一种类似于mysql的关系型数据库管理系统,是以加州大学计算机系开发的POSTGRES为基础的对象关系型数据库管理系统。PostgreSQL使用名为PostgreSQL的许可证,类似于BSDMIT。它属于开源软件,C实现的。 Timescaledb:首先它是时序数据库,是作为postgresql扩展的一个服务。它的生态是基于PostgreSQL的。Timescaledb是timescale。inc开发的一款兼容sql的时序数据库,底层存储架构在postgresql上。在timescaledb上数据必须抽象为一张二维表。关于怎么设计这张二维表,timescaledb给出了narrowtable和widetable的两个范式。 二、为什么要用PostgreSQL及Timescaledb 作为我使用最根本的原因是项目招标文件中指定以及arcgis(postgis)的因素。 那除去这些主观因素,还有什么其它因素呢,我们先来看一下数据库的排名: 数据库趋势曲线(截止到2022。11。5) 目前PostgreSQL直逼三巨头(oracle,mysql,sqlserver),再借用一张图来说明: 再借用一段话:MySQL流行度位居第二,但树大招风,处于前有狼后有虎,上有野爹下有逆子的不利境地:在严谨的事务处理和数据分析上,MySQL被同为开源关系型数据库的PgSQL甩开几条街;而在糙猛快的敏捷方法论上,MySQL又不如新兴的NoSQL产品。同时,MySQL上有Oracle父爱如山,中有MariaDB兄弟分家,下有诸如TiDBOB之类协议兼容的NewSQL逆子造反,因而也止步不前。唯有PostgreSQL迎头赶上,保持着近乎指数增长的势头。如果说几年前PG的势还是Potential,那么现在Potential已经开始兑现为Impact,开始对竞争对手构成强力挑战。 Oracle作为老牌商业软件,才毋庸质疑,同时作为业界毒瘤,德也不必多说,故曰:有才无德。MySQL有开源之功德,但它一来采用了GPL协议,比起使用无私宽松BSD协议的PgSQL还是差不少意思,二来认贼作父,被Oracle收购,三来才疏学浅,功能简陋,故曰才浅德薄。 德不配位,必有灾殃。唯有PostgreSQL,既占据了开源崛起之天时,又把握住功能强劲之地利,还有着宽松BSD协议之人和。正所谓:藏器于身,因时而动。不鸣则已,一鸣惊人。德才兼备,攻守之势易矣! PostgreSQL的生态: postgreSQL生态 用个搞笑的图放一下: 开源比较: mysql:GPL。衍生软件也要开源。 PostgreSQL:PostgreSQL,衍生软件可商业化。因些生态更好。 三、怎么用PostgreSQL及Timescaledb a。安装略过,自行搜索。 b。栗子: 创建标准表:CREATETABLEconditions(timeTIMESTAMPTZNOTNULL,locationTEXTNOTNULL,temperatureDOUBLEPRECISIONNULL,humidityDOUBLEPRECISIONNULL); 以时间字段作为分片字段,将标准表转换为超表:SELECTcreatehypertable(conditions,time); 在超表中进行插入和查询操作:INSERTINTOconditions(time,location,temperature,humidity)VALUES(NOW(),office,70。0,50。0);SELECTFROMconditionsORDERBYtimeDESCLIMIT100;