什么是PostgreSQL?
云数据库 PostgreSQL 是京东云基于开源的 PostgreSQL 10.6 版本构建的一款功能强大的企业级关系型数据库管理系统。
PostgreSQL有“世界上可获得的最先进的开源数据库”之称,在过去20年的飞速发展中,该数据库已经广泛应用在GIS场景。如:移动应用、物流应用、金融数据分析等各个行业,逐渐成为企业首选商业级数据库。

云数据库可帮助您轻松在云端进行部署、操作、管理和扩展PostgreSQL,省去绝大部分复杂而繁琐的管理工作,更专注于业务流程的开发与建设。

一、产品优势

数据库PostgreSQL相比于传统关系型数据库,具有以下优势:1、丰富性
支持多种编程语言编写存储过程和函数,可支持主流开发语言包括C/C++/Perl/Python/Java/JavaScript/PHP等,支持广泛的数据类型包括几何类型、网络地址类型、JSON类型等。更允许用户按业务需求自定义数据类型,并可灵活配置和操作。2、灵活性
提供图形界面化的管理工具和非界面化的命令行查询工具,无论您是想通过脚本控制,还是通过控制台图形化工具操作,PostgreSQL都能满足您的需求。同时,PostgreSQL还提供一款可以整合其他数据库的管理工具,可实现多数据库之间的数据连接和迁移。3、专业性
支持标准的SQL查询语句,支持PostGIS空间类型,支持GIS几何数据类型、范围类型、IP类型,可满足基于地理位置的空间查询、空间索引、空间分析。

二、产品架构

云数据库PostgreSQL整体架构图:

Service:业务逻辑层,负责处理一些业务逻辑UC:用户中心Orde:订单系统Trade:交易系统Sentinel:哨兵服务,监听实例存活情况等其他职责Manager:管理服务,执行具体的创建实例,删除实例等其他职责Container:计算服务,运行云数据库 PostgreSQL 实例SDN:SDN网络服务OSS:京东云对象存储服务JMonitor:监控服务

三、产品特性

云数据库PostgreSQL作为一个合格的数据存储服务,核心满足服务高可用性和数据高可用性。1、高可用性
京东云云数据库 PostgreSQL 采用的是本地盘的数据存储方式,所以为了保证服务的高可用性,那么必须采用集群的方式来部署云数据库 PostgreSQL 服务。
PostgreSQL 的集群方式可以是一主一从,一主两从,或者一主多从,PostgreSQL 把从称之为:Hot Standby。京东云云数据库 PostgreSQL采用一主一从模式,保证了服务高可用性的同时,将成本降至最低。
PostgreSQL和MySQL 一样,将主从同步方式分为全同步、半同步、异步三种方式,考虑性能和数据一致性两大因素,选择半同步方式。
PostgreSQL 从 9.0 版本开始,主从的数据同步方式(同步WAL日志)支持以下两种:

  • 异步流复制:事务提交之后不必等日志传递到 standby 就即可返回,从实例数据有一定的延迟。
  • 同步流复制:当主实例事务提交之后,一定会等到日志传递到 standby后才返回,可以做到数据零丢失。

由于京东云云数据库 PostgreSQL 集群采用的是一主一从架构,如果数据同步方式采用同步流复制,那么当 standby 不可用的时候,会导致无法正常的往 PostgreSQL 集群中写数据。所以为了确保集群的高可用性,京东云云数据库 PostgreSQL 采用的主从数据同步方式为:异步流复制。
同时,京东云云数据库 PostgreSQL 集群是跨机架跨物理机部署的,如果创建的时候选择了跨可用区的话,集群的主从实例还能分别部署在两个不用的可用区。在这样的部署架构下,集群中的主从实例同时不可用的概率极低。自动高可用—来看下京东云云数据库 PostgreSQL 是如何实现自动高可用的:

京东云云数据库 PostgreSQL 集群包括了主从两个实例,即上图的Master 和 Slave。Master和Slave会定时上报心跳信息给Sentinel服务,汇报自己的存活情况;当Slave长时间未上报心跳信息,Sentinel会认为此时Slave已经不可用了,这时 Sentinel 就会触发自动高可用的命令,告诉Manager需要新建一个从实例,即上图的Slave。Slave会根据一个最近的全量备份进行创建,当创建成功之后,会设置与Master的主从关系,从Master同步增量的数据。2、高可靠性
京东云云数据库 PostgreSQL 提供了自动备份服务,实例每天会定时的备份一次,同时在此期间产生的所有 WAL* 日志,都会同步到京东云 OSS 服务(OSS 中的数据是三副本存储的)中。
针对云数据库 PostgreSQL 的自动备份,我们采用了官方提供的 pg_baseBackup*命令行工具,定时的在从实例上进行全量数据备份操作,并实时将数据同步到京东云 OSS 服务中,确保了备份操作不会影响用户对主实例的操作。
除了会定时进行全量备份外,针对增量的数据WAL日志,我们也做了同步处理,将日志实时同步到京东云 OSS 服务中。基于这种机制,京东云云数据库 PostgreSQL 允许根据时间点(从当前时间往前推 7 天内的任意时间点)创建新的实例。自动全量备份—来看下京东云云数据库 PostgreSQL 是如何实现自动全量备份的:

京东云云数据库 PostgreSQL 支持自定义每天全量备份的执行时间。在进行全量备份的过程中,为了不影响正常的业务使用,京东云云数据库 PostgreSQL 的全量备份基于 Slave 实例,并将备份文件实时的上传到京东云 OSS 上。

四、应用场景

PostgreSQL由于其强大的数据类型支持及出色的函数扩展及兼容能力,在企业级商用数据库和GIS场景中有广泛的应用,,以下列举几个简单场景。1、企业级商用数据库
商用数据库要求高可用、高可靠,往往业务逻辑复杂多变,尤其在金融行业如交易系统、财务系统等涉及到资金流转、客户信息管理等,要求数据不能丢失且实时同步。PostgreSQL可保证数据一致的前提下提供高可用性和高可靠性,灵活的数据类型配置可通过简单的编程语句实现复杂逻辑的业务操作。2、物流行业应用
物流行业快递的配送和揽件算法关系到快递配送或揽件的时效,直接关系到物流公司的运作成本。寄件场景如寄件和揽件同时发生如何根据快递员所在位置调度,货物从终点仓库到网点的物流调度路径问题均是基于地理信息几何数据关系复杂计算的。PostgreSOL支持GIS几何类型和PostGIS插件,可解决基于位置信息的最短路径问题。3、基于LBS应用
移动互联网发展离不开地理位置信息的存储、查询和计算。应用场景如基于LBS应用如大型游戏、需要支持世界地图、O2O附件商家距离计算、订单配送等问题,基于用户所在商场地理位置商家推荐等。PostgreSQL支持SQL运行位置查询,不需要编写复杂的代码即可实现,提高基于LBS存储与计算效率。

结语

云数据库 PostgreSQL 是京东云数据库团队历时1年多的研发产品,此产品凝聚了京东云数据库团队多年PostgreSQL使用经验,提供一个稳定、可靠的数据存储服务。
云数据库 PostgreSQL 易于部署、管理和扩展,默认支持主从热备架构,提供数据备份、故障恢复、监控等全套解决方案,彻底解决数据库运维的烦恼。
同时,京东云数据库 PostgreSQL 通过使用网络隔离、使用白名单限制外网访问等方式,为数据库服务提供了高级别的安全性需求,助您省去绝大部分复杂而繁琐的管理工作,更专注于业务流程的开发与建设。
点击"京东云"了解更多详情

java执行查询postgresql得到中文乱码_比这个夏天还要热的PostgreSQL数据库来啦!相关推荐

  1. dbvisualizer查询mysql中文乱码_使用PLSQL Developer和DbVisualizer查询oracle数据库时出现乱码...

    使用PLSQL Developer和DbVisualizer查询oracle数据库时,出现查询数据中文乱码情况. 查看了一下数据库编码格式 select * from v$nls_parameters ...

  2. 存到mysql的中文乱码_将用户输入的中文保存到数据库出现中文乱码问题

    数据库乱码 浏览器出现的乱码 出现乱码问题,一定是编码和解码用的码表不一致造成的.从用户界面到数据库显示的cmd界面需要编码和解码的地方有: 浏览器使用的编码,socket发送使用的编码,tomc ...

  3. java 插入 mysql 乱码_解决java中插入mysql中文乱码的方法

    解决java中插入mysql中文乱码的方法 发布时间:2020-07-11 14:35:11 来源:亿速云 阅读:100 作者:清晨 这篇文章主要介绍解决java中插入mysql中文乱码的方法,文中介 ...

  4. linux下java程序乱码,解决linux下java程序(例如applet)中文乱码问题

    解决linux下java程序(例如applet)中文乱码问题 平台:Mandriva 2006.0 将Windows下的字体文件simsun.ttc拷贝到/usr/share/fonts/zh_CN, ...

  5. java解决properties中中文乱码问题

    Java解决properties中中文乱码的问题 Properties文件介绍 与Properties文件的前世今生 native2ascii.exe的使用 首先编写配置文件 实验 修改测试代码进行更 ...

  6. java执行查询postgresql得到中文乱码_PostgreSQL 初探

    PostgreSQL 初探 PostgreSQL 是我们经常选择的数据库之一.它不仅仅是关系型数据库,同时也添加了对JSON数据的支持.全文检索功能,以及其他扩展. 2020 年 2月的总排名为第四名 ...

  7. java执行查询postgresql得到中文乱码_Greenplum: 基于PostgreSQL的分布式数据库内核揭秘(上篇)...

    关于作者 姚延栋,山东大学本科,中科院软件所研究生.PostgreSQL中文社区委员,致力于Greenplum/PostgreSQL开源数据库产品.社区和生态的发展. 一.数据库内核揭秘 Greenp ...

  8. java restful中文乱码_使用RestTemplate访问RESTful服务乱码处理

    在接口服务开发中,我们经常用到Spring模板类RestTemplate访问restful服务.但RestTemplate处理中文乱码问题比较麻烦.以我们项目Spring版本4.1.3.RELEASE ...

  9. java 中文乱码_好程序员Java学习路线分享如何处理中文参数

    好程序员Java学习路线分享如何处理中文参数,为什么表单中会产生中文乱码. 好程序员Java培训 产生乱码,就是因为服务器和客户端沟通的编码不一致造成的,因此解决的办法是:在客户端和服务器之间设置一个 ...

最新文章

  1. vs2008中,在OCX控件中应用doc/view基本步骤
  2. 【康奈尔大学】机器学习领域读博这段旅程的一些感悟
  3. 关于JS中的定时器!!!
  4. python 正则使用笔记
  5. 拜占庭将军问题深入探讨
  6. 谈软件测试人员定位---三年软件测试总结
  7. 系统学习NLP(十五)--seq2seq
  8. Illustrator 教程,在 Illustrator 中了解图层
  9. php更换wordpress用户头像,WordPress用户头像不显示的解决方法
  10. 常用数据手册(Datasheet)下载网站
  11. 远程控制-Farfli远控木马
  12. 【集训队互测 2012】Middle
  13. 连续分配管理方式(单一连续分配 固定分区分配 动态分区分配)
  14. 计算机qq群怎样提交作业,qq群作业怎么弄 qq群作业功能详细介绍
  15. 青出于蓝而胜于蓝——揭秘全新的 HWSQL
  16. 软件实施人员具备的技能和素养
  17. windows10系统,如何进行文件内容多关键字搜索
  18. URP渲染管线场景优化实战 2.1静态资源导入及优化——Audio
  19. 笔试题:计算机网络 (1)
  20. 《SoloBug - bug管理系统》-Echarts+Ajax实现图表数据异步加载

热门文章

  1. oracle segment extent block,Oracle的基础问题segment extent block
  2. python列表动态添加_在Python中动态创建列表
  3. Python删除文件夹和建立文件夹
  4. TensorFlow报错:'dict' object has no attribute 'SerializeToString'
  5. 容斥原理---概念介绍
  6. C++建立队列_利用链表
  7. android之phonegap入门
  8. 利用github page搭建博客
  9. 线程Blocked--SynchronizedDemo
  10. c调python_应该是史上最全的python调用C接口