digoal
2024-05-03
PostgreSQL , PolarDB , DuckDB , Oracle
2024.5.1 Oracle 宣布 23ai版本GA. 毫无疑问从 8i(nternet) -> 10g(rid) -> 12c(loud) 到 23ai , Oracle是成功的公司, 但它的协作模式今天已经过时了.
Oracle 得自己花钱雇佣产品经理、开发者、测试人员, 自己花钱培养生态, 自己花钱搞培训和认证. 在开发者越来越多, 同时社会节奏越来越快的情况下, Oracle的协作模式已经比不上开源项目.
Oracle 相比开源的一些劣势:
- Oracle 客户需求的获取更滞后. 因为用户可以直接参与到开源项目的讨论中, 开发者和用户直线联系, 需求最为直接. 高级用户甚至可以直接参与贡献代码.
- Oracle 研发成本更高. 因为开源项目是全球开发者协作模式, 好的开源项目可以吸引外部开发者参与贡献, 研发成本更低.
- Oracle 产品特性的发布更滞后. 因为只有自己雇佣的开发者, 而且考虑到投入产出、路标规划等, 特性发布一般会滞后于优秀的开源产品.
- Oracle 产品测试成本更高. 自己雇佣的内部测试人员 vs 全球的免费开源用户+测试程序编写人员.
- Oracle GTM成本更高. 开源项目分发成本几乎为0.
- Oracle 产品品质收敛更慢. 开源用户多, 产品问题更容易暴露, 更快速的进行品质收敛.
- Oracle 专家会越来越难找. 因为开源有先发优势.
- Oracle 产品受众更窄, 用户增量会越来越少. 因为开源有先发优势, 数据库的迁移成本比较高.
- Oracle 随着功能堆叠, 导致战线拉大, 产品不稳定因素增多; 产品会更加平庸(没有突出特点), 当然每一代的Oracle都会强调一个主特性, 如23强调ai; 面对不同的功能(针对的场景)竞争对手会越来越多, 竞争对手单点突破更容易超越Oracle.
虽然开源有这么多的优势, 但可能会便宜了Oracle, Oracle可以“白嫖”开源打下的江山(关注流行的、未形成行业标准或事实标准的领域的开源项目), 白嫖过来进行增强, 凭借已有的用户基础进行转化, 坐收渔翁之利. 这可能是一个公司老化的迹象, 自己的创新能力没有了, 或者说懒得创新了.
未来开源项目 和 商业化项目的竞争 也许会转移到几个方面:
1、生态竞争
2、标准定义
3、开源的SLA(商业化的能力)
4、专利权
1、最关键的当然是ai, 详细来说包括: (参看: PostgreSQL很早以前就有了hnsw, ivfflat向量索引插件.)
- 面向DBA更高效的管理数据库,
- 面向开发者安全的loadAI模型(onnx)到本地对原始数据进行向量化转换、向量类型和索引的支持,
- 面向数据分析师更高效的洞察数据价值、使用自然语言与数据库对话发掘数据价值等
2、文档数据库(JSON)增强, 兼容mongo wire protocol. (参看: PostgreSQL FerretDB a mongodb wire protocol兼容产品, 以及 json, jsonb, jsonpath, jsonquery等)
3、关键场景能力
- 全球数据库多shards之间支持consensus-based复制, 支持亚秒级failover.
- 滚动升级打补丁能力.
- true cache instance(纯内存模式, 无盘工作), front of primary oracle database, 自动刷新数据. 解决了redis等缓存数据库与关系库之间数据一致性、刷新缓存等复杂问题.
- PostgreSQL 可以看看 pgmemcache插件, 在pg内嵌入memcache api, 支持通过trigger的方式实时同步pg的变更到memcache. redis对应pgredis.
- sql 防火墙, 配置sql白名单, 只允许用户执行在白名单中的sql.
4、Over 300+ new features
Oracle DBA 快速体验 PostgreSQL, 包含了上面说的 AI、sql防火墙等 功能:
容器体验Oracle 23ai 详细说明, 关注公众号: 少安事务所
1、release 文档
https://blogs.oracle.com/database/post/oracle-23ai-now-generally-available
https://docs.oracle.com/en/database/oracle/oracle-database/23/index.html
2、oracle 自治数据库免费docker镜像
https://www.oracle.com/autonomous-database/free-trial/#free-container-image
https://container-registry.oracle.com/ords/ocr/ba/database/adb-free
https://github.com/oracle/adb-free/pkgs/container/adb-free
# 拉取oracle 23ai 本地自治数据库免费镜像
docker pull ghcr.io/oracle/adb-free:latest-23ai
OR
docker pull container-registry.oracle.com/database/adb-free:latest-23ai
3、free 镜像
Oracle Database free镜像详细使用说明参考:
docker pull container-registry.oracle.com/database/free:latest
docker history --no-trunc container-registry.oracle.com/database/free:latest
docker run -d -it -p 1521:1521 --cap-add SYS_ADMIN --cap-add=SYS_PTRACE -e ORACLE_PWD=Digoal1521 --privileged=true --shm-size=1g --name oracle container-registry.oracle.com/database/free:latest
docker logs oracle
# 等状态变成healthy
docker exec -it oracle sqlplus sys/Digoal1521@FREE as sysdba
select banner_full from v$version;
BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.4.0.24.05
4、sqlplus
https://www.cnblogs.com/microestc/p/15922093.html
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html