记录一下单条和批量写入到MongoDB和PostgreSQL方法

最近一段时间做数据迁移从MongoDB里面迁移到Pg里面,之前的一个方案是实现双写操作,在灰度阶段和一些特定场景下面的需要双写,避免数据的遗漏。记录一下的主要是因为记录一下在对于nosql的mongo的情况下,很多时候需要对类型进行强制的转换。不然会造成字段类型不一致,后面查询的时候,漏数据的情况。 <?php class HistoryBuilder extends HistoryBuilder ....
  •   
  • 1326
  • MySQL
  • 0
  • super_dodo
  • 2018/09/14

关于最近使用的MongoDB和PostgreSQL的一些比较和看法

先从个人角度来吐槽一下吧。因为这两个数据库我都不是深度用户,且学艺不精,也只能看一下表面现象了,发表一下自己的拙见了。 1.公司项目的不断壮大,技术总监决定阶段性的把一些MongoDB里面的数据迁移到Pg里面。 (Leader的眼光是不会错的,至少是很深刻的结合了现有的业务场景) 2.在做数据迁移的时候,发现MongoDB里面没结构的坏处太多了,每一个字段都要各种校验 is....
  •   
  • 6274
  • MySQL
  • 0
  • super_dodo
  • 2018/09/14

PostgreSQL学习手册之–数据库维护

PostgreSQL学习手册之--数据库维护 一、恢复磁盘空间: 在PostgreSQL中,使用delete和update语句删除或更新的数据行并没有被实际删除,而只是在旧版本数据行的物理地址上将该行的状态置为已删除或已过期。因此当数据表中的数据变化极为频繁时,那么在一段时间之后该表所占用的空间将会变得很大,然而数据量却可能变化不大。要解决该问题,需要定期对数据变化频繁的数据表执....
  •   
  • 927
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–数据库管理

PostgreSQL学习手册之--数据库管理 一、概述: 数据库可以被看成是SQL对象(数据库对象)的命名集合, 通常而言,每个数据库对象(表、函数等)只属于一个数据库。 不过对于部分系统表而言,如pg_database,是属于整个集群的。 更准确地说,数据库是模式的集合,而模式包含表、函数等SQL对象。 因此完整的对象层次应该是这样的:服务器、数据库、模式、表或其他类型的对....
  •   
  • 1142
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–角色和权限

PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户。角色可以拥有数据库对象,如表、索引,也可以把这些对象上的权限赋予其它角色,以控制哪些用户对哪些对象拥有哪些权限。 一、数据库角色: 1. 创建角色: CREATE ROLE role_name; 2. 删除角色: DROP ROLE role_name; 3. 查询角色: 检查系统表pg_ro....
  •   
  • 976
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–服务器配置

PostgreSQL学习手册之--服务器配置 一、服务器进程的启动和关闭: 下面是pg_ctl命令的使用方法和常用选项,需要指出的是, 该命令是postgres命令的封装体,因此在使用上比直接使用postgres更加方便。 pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"] pg_ctl start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS&....
  •   
  • 909
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–性能提升技巧

PostgreSQL学习手册之--性能提升技巧 一、使用EXPLAIN: PostgreSQL为每个查询都生成一个查询规划,因为选择正确的查询路径对性能的影响是极为关键的。 PostgreSQL本身已经包含了一个规划器用于寻找最优规划,我们可以通过使用EXPLAIN命令来查看规划器为每个查询生成的查询规划。 PostgreSQL中生成的查询规划是由1到n个规划节点构成的规划树,其中最底层的节点为表....
  •   
  • 751
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–事物隔离

PostgreSQL学习手册之--事物隔离 在SQL的标准中事物隔离级别分为以下四种: 1. 读未提交(Read uncommitted) 2. 读已提交(Read committed) 3. 可重复读(Repeatable read) 4. 可串行化(Serializable) 然而PostgreSQL在9.1之前的版本中只是实现了其中两种,即读已提交和可串行化, 如果在实际应用中选择了另外两种,那么PostgreSQL将会自动向更严格的隔离级别调整。 在....
  •   
  • 707
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–索引Index

PostgreSQL学习手册之--索引Index 一、索引的类型: PostgreSQL提供了多种索引类型:B-Tree、Hash、GiST和GIN, 由于它们使用了不同的算法,因此每种索引类型都有其适合的查询类型, 缺省时,CREATE INDEX命令将创建B-Tree索引。 1. B-Tree: CREATE TABLE test1 ( id integer, content varchar ); CREATE INDEX test1_id_index ON test1 (id); B-Tree索....
  •   
  • 904
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–表的继承和分区

PostgreSQL学习手册之--表的继承和分区 一、表的继承: 这个概念对于很多已经熟悉其他数据库编程的开发人员而言会多少有些陌生, 然而它的实现方式和设计原理却是简单易懂,现在就让我们从一个简单的例子开始吧。 1. 第一个继承表: CREATE TABLE cities ( --父表 name text, population float, altitude int ); CREATE TABLE capitals ( --子....
  •   
  • 513
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07