- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 1.复杂系统中采用DDD-lite实现模糊需求--架构
一、 概念术语图1 术语二、解决方案选择合适的架构,本文采用的是分层架构,并向六边形架构演进。1、分层架构图2 分层架构2.六边形架构图3 六边形架构3、示例图4 示例1图5 示例2三、架构原则图6 架构原则四、架构变化分层架构演进成六边形架构:图7 架构变化五、相关链接1.复杂系统中采用DDD-lite实现模糊需求–架构1.复杂系统中采用DDD-lite实现模糊需求–开篇...
2021-10-06 16:50:26 1770
原创 1.复杂系统中采用DDD-lite实现模糊需求--开篇
一、序2015年底初识DDD(领域驱动设计),阅读和学习《领域驱动设计》By Eric和《实现领域驱动设计》By Vaughn,并且也在项目中进行了实践。随着时间的流逝, DDD对于自己也不再是高频词。最近由于各种原因,再次复习和采用DDD的方式思考和开发项目。这里把对DDD的最新理解分享个大家。DDD是一种思维方式,用以应对软件的核心复杂性。本文把最近几个月对DDD的实践和最新理解分享给大家。二、写在前头如果:1)你或你所在的团队要实现按时间倒排的需求?–需求的交付时间点已经设定2)待落地的需
2021-10-06 15:29:11 284
原创 Greenplum的PXF在容器中编译
一.背景pxf适用于联邦数据的查询,支持多种数据源,如Hadoop、hive、关系数据库。支持多个异构数据源,并只查询数据源中少量数据集,而避免对数据集执行ETL操作。二.PXF架构1.pxf server 部署在segment host主机上。2.segment通过rest接口和pxf server进行交互。3.pxf server和外部数据通过特定connector进行交互。三.编译1.源码(这里采用5.14版本)开源协议:Apache-2.0 Licensehttps://githu
2020-07-12 16:59:14 511
翻译 2.Mesa存储子系统:地理复制、近实时、可扩展的数据仓库
Mesa中的数据是连续生成的,是 谷歌最大最有价值的数据集。分析 对这些数据的查询可以是简单的查询,例如, “一个特定的广告客户点击了多少次广告 在某一天?“对于更复杂的查询场景,例如 例如,“在广告发布的第一周内,某个特定的广告客户点击了多少次与关键词‘decaf’匹配的广告” 10月8点到11点之间 打开google.com
2020-05-25 21:52:52 274
翻译 1.Mesa介绍:地理复制、近实时、可扩展的数据仓库
摘要Mesa是一个高度可扩展的分析数据仓库系统,存储与谷歌互联网广告业务相关的关键测量数据。Mesa旨在满足一组复杂且具有挑战性的用户和系统需求,包括接近实时的数据接收和查询能力,以及大数据和查询卷的高可用性、可靠性、容错性和可扩展性。具体来说,Mesa处理PB级的数据,每秒处理数百万行更新,并提供每天数十亿次查询,涉及数万亿行记录。Mesa跨多个数据中心进行地理复制,并在低延迟下提供一致和可重复的查询结果,即使在整个数据中心出现故障时也是如此。本文介绍了Mesa系统,并报告了它所达到的性能和规模。1.
2020-05-25 21:15:28 768
原创 《第二部分:软件架构过程-创建架构模型》
1. 定义模型:对架构某些方面抽象、简化或者部分展现,它的目的是要用来与利益相关者沟通系统的相应那部分内容。
2020-05-02 17:54:15 147
原创 《第二部分:软件架构过程-应用设计模式和语言惯用法》
沟通桥梁:设计模式和语言惯用法是架构师和开发者重要沟通机制开发规范:可以把设计模式和惯用法,作为开发规范文档记录。
2020-05-01 11:28:53 264
原创 《第二部分:软件架构过程-样式和架构描述》
系统中采用了大量的特定的架构样式,随着时间的推移,如果不对样式的选用做适当说明,会导致架构和样式的偏离。样式会影响所有的架构功能视图。通过文本注释和模型注解。...
2020-05-01 11:24:30 110
原创 《第二部分:软件架构过程-使用架构样式的好处》
1.背景大多数架构师基于经验与当前问题特征进行匹配,进行架构样式的应用。2.收益名称说明针对系统设计的解决方案特定样式解决特定问题,采用该样式可以立刻了解优缺点采用的基础特定样式作为解决问题的起点对相关解决方案的启发对样式研究,促进对当前问题的理解,并找到解决问题的样式推动创建新样式没有合适的样式解决当前问题,促使创建新的样式3.其他加油...
2020-05-01 11:16:57 179 1
原创 《第二部分:软件架构过程-使用样式和模式》
1.设计模式介绍1.1 定义名称说明架构样式记录系统级的结构软件设计模式记录软件设计解决方案的细节语言惯用法重现针对特定编程语言的设计问题提供的解决方案2.要素名称说明名称有意义的名称场景设定具体形势,动机和基本原理问题针对特定问题,如算法、效率、内存等解决方案针对特问题的解决方案描述,如设计模型/元素...
2020-04-30 20:38:12 134
原创 《Postgres DBA: 34. 表空间回收》
1.创建新的表空间:CREATE TABLESPACE temptablespace LOCATION '/path/../';2.检查当前表空间:SELECT tablespace FROM pg_tables WHERE tablename = 'mybigtable';(注:如果为空就是缺省表空间)3.移动表到新的表空间:ALTER TABLE mybigtable SET ...
2020-03-24 21:09:47 307
原创 《Postgres DBA: 33. 结束所有连接》
SELECT pg_terminate_backend(pg_stat_activity.pid)FROM pg_stat_activityWHERE datname = 'datbase_name' AND pid <> pg_backend_pid();SELECT pg_terminate_backend(pg_stat_activity.pid)FROM pg_st...
2020-03-23 22:12:21 154
原创 《Postgres DBA: 29. 管理命令1》
1.版本信息SELECT version();2.创建数据库CREATE DATABASE Database_Name WITH OWNER User_Name;3.修改数据库属主ALTER DATABASE Database_Name OWNER TO User_Name;4.基于模板创建数据库CREATE DATABASE NewDB WITH TEMPLATE OldDB;5...
2020-03-23 21:06:25 202 1
原创 《Postgres DBA: 25.活动会话》
SELECT pid ,datname ,usename ,application_name ,client_hostname ,client_port ,backend_start ,query_start ,query FROM pg_stat_activityWHERE state <> 'idle'AND pid<>pg_backend_p...
2020-03-23 20:48:16 116
原创 《Postgres DBA: 24.表和索引大小》
1. 表大小SELECT table_schema || '.' || table_name AS TableName, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS TableSizeFROM information_schema.tab...
2020-03-23 20:46:37 211
原创 《Postgres DBA: 23.删除空闲连接》
SELECT pg_terminate_backend(pid)FROM pg_stat_activityWHERE datname = 'Database_Name' AND pid <> pg_backend_pid() AND state in ('idle', 'idle in transaction', 'idle in transaction (aborted)',...
2020-03-23 20:32:15 869
原创 《Postgres DBA: 22.表列信息》
SELECT table_catalog ,table_schema ,table_name ,column_name ,data_type ,column_defaultFROM information_schema.columnsWHERE table_schema = 'public' AND column_default IS NOT NULLORDER BY col...
2020-03-23 20:27:49 101
原创 《Postgres DBA: 21.修改用户密码》
1. 方法一testdb=# \password test1;Enter new password:Enter it again:testdb=#2. 方法二testdb=# ALTER USER test1 WITH PASSWORD '4321';ALTER ROLEtestdb=#
2020-03-23 20:23:27 136
原创 《Postgres DBA: 20.备份恢复pg_dump》
1.在线库备份:#pg_dump -h host1 dbname | psql -h host2 dbname2.离线备份#pg_dump -U username database_name > filepath\backup.sql3.恢复#pg_dump -U username database_name < filepath\backup.sql...
2020-03-22 20:15:37 177
原创 《Postgres DBA: 16.版本信息》
testdb=# SELECT current_setting('server_version_num'); current_setting----------------- 100010(1 row)testdb=# select version();
2020-03-22 19:56:31 123
原创 《Postgres DBA: 13.跨库拷贝表数据》
1. 表定义testdb=# \d+ person Table "public.person" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description--------+...
2020-03-22 11:33:56 179
原创 《Postgres DBA: 12.查看数据库孤立序列》
1.创建序列testdb=# CREATE SEQUENCE test_serial START 101;2. 查找孤立序列SELECT ns.nspname AS SchemaName , c.relname AS SequenceNameFROM pg_class AS c JOIN ...
2020-03-22 10:27:43 133
原创 《Postgres DBA: 11.查看数据库对象信息》
1. 查看数据库对象SELECT n.nspname as schema_name , CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' ...
2020-03-22 10:20:14 201
原创 《Postgres DBA: 10.查找临时表》
1.创建临时表create temporary table "tmp_tbl_001" as select * from person;2. 查找临时表SELECT n.nspname as SchemaName , c.relname as RelationName , CASE c.relkind ...
2020-03-22 10:15:35 406
原创 《Postgres DBA: 9.查看表中被删除的元组个数》
1. SQL语句SELECT schemaname ,relname ,n_live_tup ,n_dead_tup ,last_autovacuumFROM pg_stat_all_tablesWHERE schemaname='public'ORDER BY n_dead_tup2.结果testdb=# schemaname | re...
2020-03-21 20:07:18 267
转载 《Postgres DBA:7. pg_buffercache》
1. 表说明2. SQLregression=# SELECT c.relname, count(*) AS buffers FROM pg_buffercache b INNER JOIN pg_class c ON b.relfilenode = pg_relation_filenode(c.oid) AND ...
2020-03-18 21:05:30 128
原创 《PostgreSQL DBA :6.数据库用户对象查看》
1.查询某个用户的拥有的对象这里是postgres,可以换成对应用户select nsp.nspname as SchemaName ,cls.relname as ObjectName ,rol.rolname as ObjectOwner ,case cls.relkind when 'r' then 'TABLE' wh...
2020-03-18 20:52:33 383
原创 《PostgreSQL DBA :5.表信息查看》
1. 列出表信息testdb-# \dt; List of relations Schema | Name | Type | Owner--------+--------+-------+---------- public | person | table | postgres(1 row)2.通配查询
2020-03-18 20:42:30 115
原创 《PostgreSQL DBA: 2.用户权限》
1. 连接数据库[postgres@ab50dcf74584 /]$ psql -d postgrespsql (10.10)Type "help" for help.2. 查看数据库实例testdb-# \l List of databases Name | Owner | Encoding | Collate...
2020-03-18 20:33:43 702
原创 《PostgreSQL DBA :3.修改用户权限》
1.创建用户(用户或角色)testdb=# CREATE USER test WITH PASSWORD '123';;CREATE ROLE2. 赋予超级用户权限testdb=# ALTER USER test WITH SUPERUSER;ALTER ROLE3. 取消超级用户权限testdb=# ALTER USER test WITH NOSUPERUSER;ALTER ...
2020-03-17 21:05:14 592
原创 《PostgreSQL DBA:4.获取Schemas 信息》
1.连接数据库[postgres@ab50dcf74584 ~]$ psql -h 127.0.0.1psql (10.10)Type "help" for help.postgres=#2.列出数据库实例postgres-# \l List of databases Name | Owner | Encodi...
2020-03-17 20:12:09 147
原创 《PG源码学习--7.角色管理》
一.背景PostgreSQL实现基于角色的访问控制机制,通过对角色的权限设置,实现对数据库对象如关系表的操作(如增加、删除、查询等)二.系统表pg_authid是角色系统表,pg_roles是基于pg_authid的视图,实习对密码的屏蔽。1.pg_authid属性数据类型说明oidoid唯一标识rolnamename角色名称rolsuperb...
2020-03-11 22:29:55 462
原创 《PG源码学习--6.索引扫描成本》
一.背景说明postgres的查询计划事基于成本的,成本是一个相对值,用来定性代价。本文结合代码学习基于索引扫描的成本计算。二.概念及算法1.总体概念序号名称说明1启动成本读取第一条元组前花费的成本2运行成本获取全部元组的成本,包括cpu和disk成本3总成本启动成本和运行成本的和2.具体要素|序号| 名...
2020-03-07 21:16:10 307
原创 《PG源码学习--5.全表扫描成本》
一.背景说明postgres的查询计划事基于成本的,成本是一个相对值,用来定性代价。本文结合代码学习全表扫描的成本计算。二.概念及算法1.总体概念序号名称说明1启动成本读取第一条元组前花费的成本2运行成本获取全部元组的成本,包括cpu和disk成本3总成本启动成本和运行成本的和2.具体要素序号名称说明1spc_s...
2020-03-02 21:15:17 197
原创 《PG源码学习--4.查询规划》
查询经过语法解析,语义分析,规则重写,到了查询计划环节。这里学习查询计划的代码。一.入口postgres\src\backend\optimizer\plan\planer.cPlannedStmt *planner(Query *parse, int cursorOptions, ParamListInfo boundParams){ PlannedStmt *result;...
2020-02-27 21:54:32 749
原创 《PG源码学习--2.查询语法分析》
一.背景说明数据库的一条普通的查询SQL,首先要通过查询编译,生成数据库识别的数据结构,然后数据库对生成的数据结构进行语义分析解析,最后返回内部的查询结构,共查询重写和查询优化使用。查询代码如select * from table;类似这样的语句是外部系统和数据库交互的DSL语言。本文通过Postgres的代码学习,来加深对查询编译过程的理解。Postgres的代码使用 最新的master分...
2020-02-26 20:03:55 200
原创 《PG源码学习--3.查询语义分析》
一.背景说明数据库的一条普通的查询SQL,首先要通过查询编译,生成数据库识别的数据结构,然后数据库对生成的数据结构进行解析执行,最后返回结果。查询代码如select * from table;类似这样的语句是外部系统和数据库交互的DSL语言。本文通过Postgres的代码学习,来加深对查询编译过程的理解。Postgres的代码使用 最新的master分支。二.物理代码核心代码:flex+...
2020-02-25 20:31:00 648
原创 《脚手架----1.git clone错误》
这里写自定义目录标题notepad++ SQL格式化插件新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入not...
2020-02-23 20:47:29 491
原创 《读书笔记----1.演进式架构》
演进式架构一.背景二.软件架构定义三.适应度函数四.架构耦合五. 演进式架构的陷阱和发模式六.总结功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchar...
2020-01-31 18:55:00 719
notepad++的SQL格式化插件
2020-02-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人