自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

In-Memory Computing Technology

内存数据库,内存网格技术,包括TimesTen, Redis, HANA, Spark, Coherence等

  • 博客(955)
  • 资源 (4)
  • 收藏
  • 关注

原创 Spring Start Here 读书笔记:附录 F. Recommended tools

2025-08-29 08:35:42 115

原创 Spring Start Here 读书笔记:附录D. Using JSON formatting

在 JSON 中,对象本身没有名称或类型。该对象唯一相关的项是其属性。一个对象可能包含另一个对象实例作为其某个属性的值。REST 端点是应用之间建立通信的最常见方式之一,而 JSON 是格式化交换数据的主要方式。JSON指JavaScript Object Notation。如果要在 JSON 中定义对象集合,请使用括号,并用逗号分隔条目。

2025-08-28 10:59:35 275

原创 Spring Start Here 读书笔记:附录 C. A quick introduction to HTTP

HTTP是在web应用中,客户端与服务器通讯的方式,他提供了交换信息的规则。或者说,是一种无状态的,基于文本的,请求响应协议,使用客户端-服务器计算模型。无状态指每一个请求都是独立的。

2025-08-28 10:59:05 162

原创 Spring Start Here 读书笔记:附录A. Architectural approaches

然而,单体式应用可以是(也应该是)模块化的(例如JAVA的package, class, interface,C的library,SQL的package,function/procedure,甚至Sping框架的Controller, Service和Repository),并且其代码可能很简洁,而面向服务的应用则可能混乱且设计糟糕。如今,科技不再只是技术人员的专利,而是人人共享的。然后服务间的通讯方式面临多种选择,如REST,SOAP,gRPC,Kafka,JMS message broker等。

2025-08-27 20:32:47 481

原创 Spring Start Here 读书笔记:第15 章 Testing your Spring app

测试是一小段代码,用于验证应用中实现的某些逻辑的行为。测试必不可少,因为它们可以帮助您确保未来的应用开发不会破坏现有功能。测试还可以作为文档。测试分为两类:单元测试和集成测试。单元测试仅关注孤立的逻辑部分,并验证一个简单组件的运行方式,而不检查它与其他功能的集成情况。单元测试之所以有用,是因为它们执行速度快,并能直接指出特定组件可能面临的问题。集成测试专注于验证两个或多个组件之间的交互。它们至关重要,因为有时两个组件可能独立运行正常,但无法良好地通信。集成测试可以帮助我们缓解此类情况引发的问题。

2025-08-27 20:31:28 909

原创 Spring Start Here 读书笔记:第14 章 Implementing data persistence with Spring Data

Spring Data 是一个 Spring 生态系统项目,可以帮助我们更轻松地实现 Spring 应用的持久层。Spring Data 提供了一个基于多种持久化技术的抽象层,并通过提供一组通用的契约来简化实现。Repository,不提供任何持久化操作CrudRepository,扩展了Repository,提供简单的CRUD操作PagingAndSortingRepository,扩展了 CrudRepository,并添加了对获取的记录进行分页和排序的操作。

2025-08-26 09:15:00 898

原创 Spring Start Here 读书笔记:第13章 Using transactions in Spring apps

事务是一组更改数据的操作,这些操作要么同时执行,要么完全不执行。在实际场景中,几乎所有用例都应该成为事务的对象,以避免数据不一致。如果任何操作失败,应用会将数据恢复到事务开始时的状态。发生这种情况时,我们称事务回滚。如果所有操作都成功,我们就说事务提交了,这意味着应用程序会保留用例执行过程中的所有更改。要在 Spring 中实现事务代码,可以使用 @Transactional 注解。您可以使用 @Transactional 注解标记您希望 Spring 包装在事务中的方法。

2025-08-26 09:00:00 714

原创 Spring Start Here 读书笔记:第12章 Using data sources in Spring apps

数据源是一个管理与数据库管理系统 (DBMS) 连接的组件。它使用 JDBC 驱动程序获取其管理的连接。数据源旨在通过允许其逻辑重用与 DBMS 的连接,并仅在需要时请求新连接来提高应用的性能。数据源还会确保在释放连接时关闭它们。如果没有一个对象承担数据源的责任,应用就需要为每次数据操作请求一个新的连接。由于每次操作都需要通过网络通信来建立新的连接,这会显著降低应用速度并导致性能问题。数据源可以确保应用仅在真正需要时才请求新的连接,从而提升应用的性能。

2025-08-25 08:50:26 630

原创 Spring Start Here 读书笔记:第11章 Consuming REST endpoints

在实际的后端解决方案中,您经常会发现后端应用需要调用另一个后端应用公开的端点的情况。Spring 提供了多种用于实现 REST 服务客户端的解决方案。以下是三种最相关的解决方案:OpenFeign:Spring Cloud 项目提供的解决方案,它成功简化了调用 REST 端点所需的代码编写,并添加了多项与我们当前服务实现方式相关的功能RestTemplate:用于在 Spring 应用中调用 REST 端点的简单工具。

2025-08-25 08:41:12 918

原创 Spring Start Here 读书笔记:第10章 Implementing REST services

表述性状态转移 (REST) Web 服务是在两个应用程序之间建立通信的一种简单方法。在 Spring 应用中,Spring MVC 机制支持 REST 端点的实现。您需要使用 @ResponseBody 注解来指定方法直接返回响应主体,或者将 @Controller 注解替换为 @RestController 来实现 REST 端点。如果您不使用上述任何一种注解,调度器 Servlet 将假定控制器的方法返回的是视图名称,并尝试查找该视图。

2025-08-22 21:48:12 998

原创 Spring Start Here 读书笔记:第9章 Using the Spring web scopes

除了单例和原型 bean 作用域之外,在 Spring Web 应用中还有三个 bean 作用域,他们只在 Web 应用中才有意义,因此我们称之为 Web 作用域:请求作用域——Spring 为每个 HTTP 请求创建一个 bean 实例。会话作用域——Spring 为每个客户端的 HTTP 会话创建一个 bean 实例。来自同一客户端的多个请求可以共享同一个实例。应用程序作用域——对于该特定 bean,整个应用只有一个实例。来自任何客户端的每个请求都可以访问此实例。

2025-08-22 21:42:06 869

原创 Spring Start Here 读书笔记:第8章 Implementing web apps with Spring Boot and Spring MVC

如今的 Web 应用拥有动态页面(也称为动态视图),可针对不同的请求显示不同内容。为了知道要显示什么,动态视图从控制器获取变量数据。在 Spring 应用中实现动态页面的一个简单方法是使用模板引擎,例如 Thymeleaf。Thymeleaf 的替代方案包括 Mustache、FreeMarker 和 Java Server Pages (JSP)。模板引擎是一种依赖项,它为您的应用程序提供了轻松获取控制器发送的数据并将其显示在视图上的能力。客户端可以通过请求参数或路径变量向服务器发送数据。

2025-08-22 13:02:43 529

原创 Spring Start Here 读书笔记:第7章 Understanding Spring Boot and Spring MVC

您通过网络浏览器访问的任何应用程序都是web应用程序(客户端只需安装浏览器)。客户端是用户直接交互的部分。Web 浏览器代表 Web 应用的客户端。浏览器向 Web 服务器发送请求,接收来自服务器的响应,并为用户提供与应用交互的途径。我们也将 Web 应用的客户端称为前端。服务器端接收来自客户端的请求并返回数据作为响应。服务器端实现处理客户端请求的数据(有时还会存储这些数据)的逻辑,然后再发送响应。我们也将 Web 应用的服务器端称为后端。如今,Web 应用使用的频率比桌面应用更高。

2025-08-22 13:02:12 870

原创 Spring Start Here 读书笔记:第6章 Using aspects with Spring AOP

切面是一个拦截方法调用的对象,它可以在被拦截方法执行之前、之后甚至代替被拦截方法执行逻辑。这可以帮助你将部分代码与业务实现分离,并使应用更易于维护。使用切面,您可以编写与方法执行同时执行的逻辑,同时与该方法完全解耦。这样,阅读代码的人只会看到与业务实现相关的内容。切面可能是一个危险的工具。过度使用切面会降低你的应用的可维护性。你不需要到处都使用切面。使用切面时,请确保它们确实有助于你的实现。切面支持许多基本的 Spring 功能,例如事务和安全方法。

2025-08-21 13:00:28 1285

原创 Spring Start Here 读书笔记:第5章 The Spring context: Bean scopes and life cycle

在 Spring 中,Bean 的范围定义了框架如何管理对象实例。Spring 提供两种 Bean 作用域:单例 (Singleton) 和原型 (Prototype)。使用单例时,Spring 直接在其上下文中管理对象实例。每个实例都有一个唯一的名称,使用该名称始终可以引用该特定实例。单例是 Spring 的默认设置。使用原型时,Spring 仅考虑对象类型。每种类型都有一个与之关联的唯一名称。每次引用该 Bean 名称时,Spring 都会创建该类型的新实例。

2025-08-21 08:47:59 973

原创 Spring Start Here 读书笔记:第3章 The Spring context: Wiring beans

假设我们在 Spring 上下文中有两个实例:一只鹦鹉和一个人。我们将创建这两个实例并将其添加到上下文中,然后将这两个实例关联起来。3.1.1和3.1.2即两种不同的方法。假设我们在 Spring 上下文中有两个实例:一只鹦鹉和一个人。我们将创建这两个实例并将其添加到上下文中,然后将这两个实例关联起来。3.1.1和3.1.2即两种不同的方法。Spring 上下文是应用内存中的一个空间,框架用它来保存其管理的对象。您需要使用框架提供的功能将任何需要扩展的对象添加到 Spring 上下文中。

2025-08-20 12:59:04 1125

原创 Spring Start Here 读书笔记:第4章 The Spring context: Using abstractions

在 Java 中,接口(interface)是一个抽象结构,用于声明特定的职责。实现该接口的对象必须定义该职责。多个实现相同接口的对象可以用不同的方式定义该接口声明的职责。我们可以说,接口指定了“需要发生什么”,而每个实现该接口的对象则指定了“应该如何发生”。在实现类设计时,通过抽象来解耦实现是最佳实践。对象解耦使得实现易于更改,而不会影响应用程序的太多部分。这使得您的应用程序更易于扩展和维护。在 Java 中,我们使用接口来解耦实现。我们也说我们通过接口来定义实现之间的契约。

2025-08-19 10:31:11 221

原创 Spring Start Here 读书笔记:第2章 The Spring context: Defining beans

注解@Configuration表示下面的类ProjectConfig 是一个配置类。

2025-08-19 09:42:37 800

原创 Spring Start Here 读书笔记:第1章 Spring in the real world

通常是国防或政府组织的应用,基于对安全的高要求。应用程序框架是一组常见的软件功能,为开发应用程序提供基础结构。框架充当构建应用程序的骨架支撑。框架通过提供您组装到实现中的功能(而非自行开发),帮助您更高效(节省时间,减少bug)地构建应用。使用像 Spring 这样的知名框架,你能接触庞大的社区,更容易找到他人遇到的类似问题,并学习他们的解决方法,从而节省自行摸索的时间。在实现应用程序时,务必考虑所有可能性,包括不使用框架。应该考虑该框架的主要用途、用户规模和成熟度。

2025-08-19 09:42:12 647

原创 开始读Sping Start Here

本书出版商网页在。其中有还包括示例源码和勘误表。

2025-08-18 08:44:55 576

原创 Spring 相关术语中英文对照表

【代码】Spring 相关术语中英文对照表。

2025-08-18 08:27:46 851

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第8章 Monitoring and Diagnosis

数据库下与计算机硬件与存储发生关联,横向与网络发生关联。因此仅监控数据库是不够的。

2025-07-23 10:07:38 1036

原创 PostgreSQL 事务ID环绕问题

但由于事务 ID 的大小有限(32 位),因此长期运行的集群(超过 40 亿个事务)将遭遇事务 ID 回绕:XID 计数器会回绕为零,过去的事务会突然变成未来的事务 — — 这意味着它们的输出变得不可见。因此,一旦使用特定的普通 XID 创建了行版本,那么在接下来的 20 亿个事务中,无论我们讨论的是哪个普通 XID,该行版本都会看起来像是“过去”的。为了防止这种情况,PostgreSQL 保留了一个特殊的 XID,FrozenTransactionId,它不遵循普通 XID 比较规则,并且。

2025-07-23 10:05:46 1063

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第7章 Database Administration

讲的是ALTER TYPE命令。示例针对。也适用。

2025-07-18 16:30:01 1123

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第6章 Security

PG 文档中没有专门的一章讲安全,散落在各处。可以参考老版本的文档或。略。

2025-07-14 17:55:50 728

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第5章 Tables and Data

如果大于零,则为该列中不同值数量的估计值。PG内置的range类型包括int4range,int8range,numrange,tsrange,tstzrange 和 daterange。其实安全性也是增强的,还有模块化和兼容性(毕竟数据库的更换比前端开发语言和框架的更换评率小)。exclude约束确保如果使用指定的运算符在指定的列或表达式上比较任意两行,则这些运算符比较中至少有一个将返回 false 或 null。注意,SYSTEM是基于block的,BERNOULLI是基于tuple的。

2025-07-13 12:28:46 655

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第4章 Server Control

带-D选项的就是postmaster进程。💡 每个postmaster进程有且仅有一个数据目录。......

2025-07-11 08:01:24 915

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第3章 Server Configuration

服务器编码和语言环境尤其如此,如果以后需要更改,可能会导致大量的停机时间和工作量。当系统接近上线时,安全性的设置也会更加困难。它还提供对每个参数的一些 SHOW 命令无法直接获取的信息的访问,例如最小值和最大值。pg_available_extension_versions包含extension的多个版本。💡 简单来说,internal需要重装(reinit),postmaster需要重启(restart),sighup需要重新加载(reload)。可以扩展功能,数据类型,运算符,索引类型。

2025-07-11 08:00:37 1137

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第2章 Exploring the Database

信息模式定义在 SQL 标准中,因此可以预期其可移植且稳定——这与 system catalog 不同,system catalog 是 PostgreSQL 特有的,并且是根据实现问题建模的。创建数据库集群包括创建数据库数据所在的目录、生成共享目录表(属于整个集群而非任何特定数据库的表),以及创建 template1 和 postgres 数据库。例如分区表,由于PG有特殊的实现,所以从information schema 是无法分辨出来分区的父表和子表的,这需要查询pg_class。

2025-07-10 16:09:53 731

原创 PostgreSQL 16 Administration Cookbook 读书笔记:第1章 First Steps

开源,低TCO,30多年持续开发,符合SQL:2023标准,高度可扩展,多模。

2025-07-10 16:09:22 950

原创 开始读 PostgreSQL 16 Administration Cookbook

这本书的全名为:PostgreSQL 16 Administration Cookbook: Solve real-world Database Administration challenges with 180+ practical recipes and best practices。前面已经有Learning PostgresSQL第二版打底了,现在就通过这本Cookbook中的recipe来实践和加强一下。以下为章节列表,读书笔记已经发布的会附上URL。

2025-07-09 22:15:03 393

原创 迁移Oracle SH 示例 schema 到 PostgreSQL

所有的脚本都在Github上了,下一篇我们迁Customer Orders 示例 schema。

2025-07-09 19:28:37 768

原创 迁移Oracle HR 示例 schema 到 PostgreSQL

现在开始一点实战。其中最小和最简单的是HR,我们就从他开始。我们也按以上顺序来迁移,并且文件名与Oracle保持一致。

2025-07-08 09:03:26 770

原创 读书笔记:An Introduction to Set Theory

集合: 无重复值,无序,成员包含,集合包含,子集,超集空集、全集、幂集运算符,特别是 UNION、INTERSECT、MINUSClosure;其他属性(交换性等)集合与逻辑之间的基本关系。

2025-07-06 08:25:52 660

原创 Learning PostgresSQL读书笔记: 第19章 Useful Tools and Extensions

本章最重要的是备份和恢复。

2025-07-04 13:00:54 1081

原创 Learning PostgresSQL读书笔记: 第18章 Logical Replication

要成功解码WAL,WAL中需要有额外的信息,类似于Oracle的supplemental logging。这是通过表的REPLICA IDENTITY设置实现的。记录指定索引所涵盖列的旧值,这些列必须唯一、非部分、不可延迟,并且仅包含标记为 NOT NULL 的列。既然逻辑复制不能复制DDL命令,而DDL命令又是不可避免的,如何处理这些DDL变化?逻辑复制不是逐字节的块拷贝,而是对WAL进行解码得到SQL,再在备端应用。例如,已经在复制发布中的表增加了一列,那么你必须在备端也增加这一列。

2025-07-03 08:01:51 1047

原创 Learning PostgresSQL读书笔记: 第17章 Physical Replication

PG 9.0 后支持物理复制。

2025-07-03 08:00:14 919

原创 Learning PostgresSQL读书笔记: 第16章 Configuration and Monitoring

您也可以在连接请求数据包中为特定会话设置这些设置(例如,通过 libpq 的 PGOPTIONS 环境变量),但前提是连接用户是超级用户或已被授予相应的 SET 权限。但是,这些设置在会话启动后不会改变。pg_blocking_pids返回阻止具有指定进程 ID 的服务器进程获取锁的会话的进程 ID 数组,如果不存在这样的服务器进程或该服务器进程未被阻止,则返回空数组。pg_stat_all_tables 视图将为当前数据库中的每个表(包括 TOAST 表)包含一行,显示有关对该特定表的访问的统计信息。

2025-07-02 16:11:22 1078

原创 Learning PostgresSQL读书笔记: 第15章 Backup and Restore

PostgreSQL 数据库应定期备份。虽然备份过程本质上很简单,但清晰地了解底层技术和假设至关重要。SQL 转储(逻辑备份)文件系统级备份(物理备份)持续归档。

2025-07-02 16:09:43 836 1

原创 Learning PostgresSQL读书笔记: 第14章 Logging and Auditing

日志收集器(logging collector),它是一个后台进程,用于捕获发送到 stderr 的日志消息并将其重定向到日志文件。这种方法通常比记录到 syslog 更有用,因为某些类型的消息可能不会出现在 syslog 输出中。此参数只能在服务器启动时设置。日志收集器即输出中的on(1 row)(36 rows)

2025-07-01 13:38:52 903

使用 AWR 进行 Exadata 性能诊断

使用 AWR 进行 Exadata 性能诊断

2024-11-13

Oracle自治数据库自动分区报告

Oracle LiveLab实验“Boost Database Performance with Oracle Auto Partitioning”中的自动分区报告。

2022-11-16

Martin :另一篇优化的文章

Martin :另一篇优化的文章

2022-04-29

twp-stats-concepts-19c-5324209.pdf

优化器统计信息基本概念

2021-10-26

result.html

result.html

2021-07-07

TImesTen博客示例源代码

我的内存计算专栏示例源代码

2017-03-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除