3.2.1 delete操作闪回#1、删除表tb01数据SQL> delete from tb01 where id<100;99 rows affected.SQL> select count(1) from tb01 ;COUNT(1) ---------------------99001 row fetched.#2、开启row movementSQL> ALTER TABLE tb01 ENABLE ROW MOVEMENT;Succeed.#3、表数据闪回(通过时间戳闪回)SQL> FLASHBACK TABLE tb01 TO TIMESTAMP TO_TIMESTAMP('2023/11/23 20:18:00','yyyy/mm/dd hh24:mi:ss');FLASHBACK TABLE tb01 TO TIMESTAMP TO_TIMESTAMP('2023/11/23 20:18:00','yyyy/mm/dd hh24:mi:ss');Succeed.#4、查看数据返回正常SQL> select count(1) from tb01 ;COUNT(1) ---------------------99991 row fetched.3.2.2 drop表操作闪回#1、开启了回收站ALTER SYSTEM SET RECYCLEBIN_ENABLED=ON;#2、删除表SQL> drop table tb01 ;#3、查询回收站是否存在TB01表SQL> SELECT object_name FROM DBA_RECYCLEBIN WHERE original_name = 'TB01';OBJECT_NAME---------------------------------------------------------------- BIN$2260#4、表结构及表数据闪回SQL> FLASHBACK TABLE "BIN$2260" TO BEFORE DROP;#5、表和索引已恢复SQL> SELECT table_name FROM USER_TABLES;TABLE_NAME---------------------------------------------------------------- TB01SQL> SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_NAME = 'TB01';INDEX_NAME---------------------------------------------------------------- UNIQ_IX01IX_C13.2.3 truncate表闪回#1、开启了回收站ALTER SYSTEM SET RECYCLEBIN_ENABLED=ON;#2、TRUNCATE表操作SQL> truncate table tb01;#3、查询回收站是否存在TB01表SQL> SELECT object_name FROM DBA_RECYCLEBIN WHERE original_name = 'TB01';OBJECT_NAME---------------------------------------------------------------- TB01#4、表结构及表数据闪回SQL> FLASHBACK TABLE "TB01" TO BEFORE TRUNCATE;#5、表数据已恢复SQL> select count(1) from tb01;COUNT(1) ---------------------99994、总结本文简要介绍了YashanDB的特性以及部署架构,并测试部署了1主1备的环境进行功能性验证 。总结下来有以下几点:
- 文档还是挺全的,根据文档一步步能够搭建好环境使用 。受限于个人体验版,只能部署单实例的主备环境,没法体验分布式以及共享集群的架构
- 作为一个新数据库 , 对用户来说有个学习和适应的过程,一些命令和SQL语句和MySQL或Oracle等还是有些差异,可能和Oracle更接近 。
- 生态的建设上还在慢慢完善,比如对Python/ target=_blank class=infotextkey>Python或Go等语言的支持 , 主流的开发框架的支持等 。还有和主流的信创操作系统的适配性和稳定性,需要进一步测试验证 。尤其是在一众国产数据库产品中建立领先优势,还是有一定的挑战性的 。
- 在架构上主备集群的可用性通过yasom检测的,如果这台服务器宕机后主备切换是没有自动实现的,在高可用切换这一块有优化的空间 。像OpenGauss在后续版本增加CM实现切换功能,也可以参考GoldenDB管理节点对数据节点的高可用管理 。
- 在运维功能实现上 , 数据库运维管理平台,对服务器的纳管和一键部署、监控指标和客户的现有流程对接、CMDB元数据模型和告警接入等,还是有很多客户化落地的细节 。
【YashanDB数据库主备高可用架构实践】
推荐阅读
- 集中式数据库与分布式数据库的战场与战争
- 解读向量数据库
- Python内置数据库:轻量级SQLite
- Oracle数据库存在不可用索引性能问题
- 每个程序员都必须了解的十种数据库
- 深度优化数据库性能:Linux 内核参数调整解析
- 14个开源免费数据库监控工具,MySQL、Oracle、Postgres或MSSQL
- 初识向量数据库与pgvector实践
- 直面数据库的“崖山海战”:YashanDB另辟蹊径站上新高地
- 国内首个向量数据库标准发布
