说起大数据中的应用,很多同学可能马上会想起用户画像。用户画像,英文称之为UserProfile,通过用户画像可以完美地抽象出一个用户的信息全貌,通过用户画像数据可以精准地分析用户的各种行为习惯,如消费习惯、兴趣爱好、能力情况等等重要用户信息。通常用户画像是通过给用户建标签系统来实现的,本文介绍了如何使用PostgreSQL的json数据类型来建立用户画像数据库。标签模型为了说明具体的方法方法,我们建一套简单的两级标签系统:职业:农民、工人、IT工程师、理发师、医生、老师、美工、律师、公务员、官员爱好:游泳、乒乓球、羽毛球、网球、爬山、高尔夫球、滑雪、爬山、旅游学历:无学历、小学、初中、高中、中
说起大数据中的应用,很多同学可能马上会想起用户画像。用户画像,英文称之为UserProfile,通过用户画像可以完美地抽象出一个用户的信息全貌,通过用户画像数据可以精准地分析用户的各种行为习惯,如消费习惯、兴趣爱好、能力情况等等重要用户信息。通常用户画像是通过给用户建标签系统来实现的,本文介绍了如何使用PostgreSQL的json数据类型来建立用户画像数据库。标签模型为了说明具体的方法方法,我们建一套简单的两级标签系统:职业:农民、工人、IT工程师、理发师、医生、老师、美工、律师、公务员、官员爱好:游泳、乒乓球、羽毛球、网球、爬山、高尔夫球、滑雪、爬山、旅游学历:无学历、小学、初中、高中、中
背景本文将介绍三种数据库变慢场景的分析与优化方法.1、已经定位出的特定慢SQL2、整个数据库实例(几乎所有SQL)变慢,或者某些时候整个数据库实例大面积SQL变慢(大面积抖动)3、某些正常情况下很快的SQL偶尔会变慢(抖动)在优化之前“治未病”的概念最早出现于《黄帝内经》,在《素问·四气调神大论》中提出:“是故圣人不治已病治未病,不治已乱治未乱,此之谓也。夫病已成而后药之,乱已成而后治之,譬犹渴而穿井,斗而铸锥,不亦晚乎”,就生动地指出了“治未病”的重要意义。数据库优化固然重要,但这是治已病,未病则更加重要.未病建议参考:《PostgreSQL数据库开发规范》《PostgreSQL持续稳定使用
背景本文将介绍三种数据库变慢场景的分析与优化方法.1、已经定位出的特定慢SQL2、整个数据库实例(几乎所有SQL)变慢,或者某些时候整个数据库实例大面积SQL变慢(大面积抖动)3、某些正常情况下很快的SQL偶尔会变慢(抖动)在优化之前“治未病”的概念最早出现于《黄帝内经》,在《素问·四气调神大论》中提出:“是故圣人不治已病治未病,不治已乱治未乱,此之谓也。夫病已成而后药之,乱已成而后治之,譬犹渴而穿井,斗而铸锥,不亦晚乎”,就生动地指出了“治未病”的重要意义。数据库优化固然重要,但这是治已病,未病则更加重要.未病建议参考:《PostgreSQL数据库开发规范》《PostgreSQL持续稳定使用
背景万事开头难,搭建好一套学习、开发PostgreSQL的环境,是重中之重。因为其他平台(Ubuntu,CentOS,MAC)的用户大多数都具备了自行安装数据库的能力,在这里我只写一个面向Windows用户的学习环境搭建文档。分为三个部分,用户可以自由选择。如果你想深入的学习PostgreSQL,建议搭建PostgreSQLonLinux的环境。如果你只是想将数据库使用在日常的应用开发工作中,有也不需要PG的其他附加插件的功能,那么你可以选择PostgreSQLonWin的环境搭建。如果你不想搭建本地的PostgreSQL,那么你可以使用云数据库服务,比如阿里云RDSforPostgreSQL
背景万事开头难,搭建好一套学习、开发PostgreSQL的环境,是重中之重。因为其他平台(Ubuntu,CentOS,MAC)的用户大多数都具备了自行安装数据库的能力,在这里我只写一个面向Windows用户的学习环境搭建文档。分为三个部分,用户可以自由选择。如果你想深入的学习PostgreSQL,建议搭建PostgreSQLonLinux的环境。如果你只是想将数据库使用在日常的应用开发工作中,有也不需要PG的其他附加插件的功能,那么你可以选择PostgreSQLonWin的环境搭建。如果你不想搭建本地的PostgreSQL,那么你可以使用云数据库服务,比如阿里云RDSforPostgreSQL
背景建立视图,方便查询createschemadba;createviewdba.invalid_indexasselectindisvalid,indexrelid::regclass,indrelid::regclass,pg_get_indexdef(indexrelid)frompg_indexwherenotindisvalid;createviewdba.ro_conflictsasselectdatname,pg_stat_get_db_conflict_all(oid)conflict_all,pg_stat_get_db_conflict_bufferpin(oid)conf
背景建立视图,方便查询createschemadba;createviewdba.invalid_indexasselectindisvalid,indexrelid::regclass,indrelid::regclass,pg_get_indexdef(indexrelid)frompg_indexwherenotindisvalid;createviewdba.ro_conflictsasselectdatname,pg_stat_get_db_conflict_all(oid)conflict_all,pg_stat_get_db_conflict_bufferpin(oid)conf
背景PostgreSQL的功能非常强大,但是要把PostgreSQL用好,开发人员是非常关键的。下面将针对PostgreSQL数据库原理与特性,输出一份开发规范,希望可以减少大家在使用PostgreSQL数据库过程中遇到的困惑。目标是将PostgreSQL的功能、性能发挥好,她好我也好。PostgreSQL使用规范命名规范【强制】库名、表名限制命名长度,建议表名及字段名字符总长度小于等于63。【强制】对象名(表名、列名、函数名、视图名、序列名、等对象名称)规范,对象名务必只使用小写字母,下划线,数字。不要以pg开头,不要以数字开头,不要使用保留字。保留字参考https://www.postgr
背景PostgreSQL的功能非常强大,但是要把PostgreSQL用好,开发人员是非常关键的。下面将针对PostgreSQL数据库原理与特性,输出一份开发规范,希望可以减少大家在使用PostgreSQL数据库过程中遇到的困惑。目标是将PostgreSQL的功能、性能发挥好,她好我也好。PostgreSQL使用规范命名规范【强制】库名、表名限制命名长度,建议表名及字段名字符总长度小于等于63。【强制】对象名(表名、列名、函数名、视图名、序列名、等对象名称)规范,对象名务必只使用小写字母,下划线,数字。不要以pg开头,不要以数字开头,不要使用保留字。保留字参考https://www.postgr