❝开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共3300人左右 1 + 2 + 3 + 4 +5 + 6 + 7 + 8 +9)(1 2 3 4 5 6 7群均已爆满,开8群近400 9群 200+,开10群PolarDB专业学习群100+)
上期说数据库出海的文章,在群里有同学讨论这个问题。最近也在一直负责类似的事情,上期是从合规的角度来说这个问题,本期将从数据库本身出海适不适合来去讨论这个问题。
第一个问题出海本身对数据库选择有需求吗? 这个问题的回答是肯定的,yes。出海的数据库产品是需要有选择的。
在这里我把我遇到的实际的问题梳理一下和大家讨论一下,出海的企业的数据库选择和使用中的思考必选项。
1 数据库表中的数据时间的表达的存储的问题。
从业务的角度,企业出海后,业务表中的时间存储是一个关键问题,比如日本,菲律宾,越南,新加坡,马来西亚等这些国家的时区是不同,不同的客户在不同的时间区域产生的数据记录的时间如何进行处理是一个大的业务逻辑问题。
这里牵扯第一个问题,数据库本身支持部支持UTC的时间存储,这是一个国际企业选择数据库的要求之一。
这里首先提到的就是MySQL,众所周知的一个问题,MySQL的存储时间的类型Datetime,他不支持时区的概念,也就是存储的是当时服务器所在时区的时间。这是非常,非常糟糕的。你在中国是OK的,我们可以以北京,上海时间作为时间的存储时间基准。但是如果你出国了,你的服务器在新加坡,他和北京的时间一样都是+8:00,可你的客户在日本和越南的情况下,他们一个时区是+9:00,一个是+7:00,他们使用一张表,MySQL的表记录的时间是+8:00的时区,这就导致展示给日本和越南的客户的时间是+8:00的时间。
业务不出大事才怪,所以出海的企业在数据库选择上第一个关键就是数据库对于时区的支持。有人说MySQL也支持时区的存储,timestamp但他只能存储到2038年所以在市区这个部分的支持性上,MySQL数据库不是一个好的选择。
同时PostgreSQL,ORACLE,MSSQL,MongoDB等数据库对于时区本身都有自己的支持性,也就是都有自己的特有的带有时区属性的字段类型可以支持这类出海企业对于时间存储的要求。这里典型的事MongoDB作为一个设计之初就为全球部署的数据库,他的时间类型 isodate 本身就支持UTC,所以在企业出海的时候,这类数据库在时间上就完全不存在问题。

上图中我们给出了一个业务表的设计,与我们普通的业务表中不同的是多个一个字段,这个字段叫时区字段,这里存储的是数据所在客户端的时区,比如从日本来的我们就在这个字段里面写9,如果是越来来的写7,新加坡的写8,而时间字段本身存储的是UTC的时间,我们这里以PG作为一个例子来说明。
当你向一个 TIMESTAMP WITH TIME ZONE 字段插入数据时,PostgreSQL 会执行以下操作: 解析输入时间:PostgreSQL 会首先解析你提供的时间字符串,并根据你当前会话的时区设置,确定这是一个具体的时刻(Instant)。转换为 UTC:然后,它会把这个时刻转换为 UTC 时间。
存储 UTC 值:最终,它只会在数据库中存储这个 UTC 时间戳。它并不会把时区信息(比如 +08 或 +09)存储在字段里。
举个例子:假设你当前会话的时区是 UTC+8(比如新加坡或北京时间)。
你执行 INSERT INTO my_table (event_time) VALUES ('2025-08-13 10:00:00 +08');PostgreSQL 会将 2025-08-13 10:00:00 这个时间点,转换为 UTC 时间,也就是 2025-08-13 02:00:00。数据库中实际存储的就是 2025-08-13 02:00:00 这个 UTC 值。
数据读取 当你从 TIMESTAMP WITH TIME ZONE 字段中查询数据时,PostgreSQL 会执行相反的操作:读取 UTC 值:它从数据库中读取存储的 UTC 时间。
转换为会话时区:然后,它会根据你当前查询会话的时区设置,将这个 UTC 时间转换为相应的本地时间。返回转换后的时间:最后,它返回转换后的时间。
继续上面的例子:
假设你是一个在中国(UTC+8)的 DBA,执行 SELECT event_time FROM my_table;PostgreSQL 读取存储的 UTC 值 2025-08-13 02:00:00。
它发现你的会话时区是 UTC+8,于是将 UTC 时间加上8小时,返回 2025-08-13 10:00:00。假设你是一个在日本(UTC+9)的 DBA,执行 SELECT event_time FROM my_table;PostgreSQL 同样读取 UTC 值 2025-08-13 02:00:00。它发现你的会话时区是 UTC+9,于是将 UTC 时间加上9小时,返回 2025-08-13 11:00:00。
那么这样设计有什么好处
1 数据的一致性:你的服务器在哪里不重要,重要的是在哪里你的日期数据都是统一的。
2 方便查询和排序:因为时间是统一的UTC的时间,这给一些数据的统计和计算给予了方便性
3 展示的灵活性:如果是中国老板的企业开到了日本,那么他最终想获得的一些报表的数据可能是想用中国时间展示,那么UTC+上老板所在的时区就可以灵活展示数据。
我这一看字数,2500多字了,本来还想写一写审计与访问控制,多区域部署,以及数据库的部署方式的选择等,算了吧,等下期有时间咱们继续聊。
在企业出海时选择数据库尽量选择全球性的数据库产品,选可以在全球部署的,如AWS的产品,阿里云的产品,以及国内可以通用的产品。
另这里不得不提一句,OceanBase 兼容MySQL的版本已经解决了 2038年的限制,很符合全球数据库在时间上的条件。如果选择了OceanBase这样的产品,可以直接使用timestamp来在MySQL上使用UTC时间,这样就避免了后续很多由于时区变动产生的问题。

全球数据库的定义
全球数据库是一类能够 跨区域部署 的数据库架构,目标是:
跨区域一致性:保证全球用户的数据写入、查询在不同地区保持一致或可控一致性。 合规性:满足不同国家/地区(中国、欧洲、美国)的数据安全和隐私法规。 高可用性:跨区域容灾与多活,避免单一数据中心宕机带来的全球性风险。
中欧美政策与合规差异
| 中国 | |||
| 欧洲 | 欧洲本地集群 | ||
| 美国 |
全球数据库典型产品对比
| Google Spanner | ||||
| AWS Aurora Global | ||||
| Azure Cosmos DB | ||||
| PolarDB(阿里云) | ||||
| OceanBase | 可在多国际云(AWS、Azure、GCP、阿里云等)上部署 |
置顶
微软动手了,联合OpenAI + Azure 云争夺AI服务市场
“当复杂的SQL不再需要特别的优化”,邪修研究PolarDB for PG 列式索引加速复杂SQL运行
“合体吧兄弟们!”——从浪浪山小妖怪看OceanBase国产芯片优化《OceanBase “重如尘埃”之歌》
未知黑客通过SQL SERVER 窃取企业SAP核心数据,影响企业运营
那个MySQL大事务比你稳定,主从延迟低,为什么? Look my eyes! 因为宋利兵宋老师
非“厂商广告”的PolarDB课程:用户共创的新式学习范本--7位同学获奖PolarDB学习之星
说我PG Freezing Boom 讲的一般的那个同学,专帖给你,看看这次可满意
这个 PostgreSQL 让我有资本找老板要 鸡腿 鸭腿 !!
OceanBase Hybrid search 能力测试,平换MySQL的好选择
HyBrid Search 实现价值落地,从真实企业的需求角度分析 !不只谈技术!
OceanBase 光速快递 OB Cloud “MySQL” 给我,Thanks a lot
从“小偷”开始,不会从“强盗”结束 -- IvorySQL 2025 PostgreSQL 生态大会
被骂后的文字--技术人不脱离思维困局,终局是个 “死” ? ! ......
个群2025上半年总结,OB、PolarDB, DBdoctor、爱可生、pigsty、osyun、工作岗位等
从MySQL不行了,到乙方DBA 给狗,狗都不干? 我干呀!
SQL SERVER 2025发布了, China幸亏有信创!
MongoDB 麻烦专业点,不懂可以问,别这么用行吗 ! --TTL
PostgreSQL 新版本就一定好--由培训现象让我做的实验
删除数据“八扇屏” 之 锦门英豪 --我去-BigData!
写了3750万字的我,在2000字的OB白皮书上了一课--记 《OceanBase 社区版在泛互场景的应用案例研究》
疯狂老DBA 和 年轻“网红” 程序员 --火星撞地球-- 谁也不是怂货
和架构师沟通那种“一坨”的系统,推荐只能是OceanBase,Why ?
跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)
跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)
跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)
跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)
MongoDB 相关文章
MongoDB “升级项目” 大型连续剧(4)-- 与开发和架构沟通与扫尾
MongoDB “升级项目” 大型连续剧(3)-- 自动校对代码与注意事项
MongoDB “升级项目” 大型连续剧(2)-- 到底谁是"der"
MongoDB “升级项目” 大型连续剧(1)-- 可“生”可不升
MongoDB 大俗大雅,上来问分片真三俗 -- 4 分什么分
MongoDB 大俗大雅,高端知识讲“庸俗” --3 奇葩数据更新方法
MongoDB 大俗大雅,高端的知识讲“通俗” -- 2 嵌套和引用
MongoDB 大俗大雅,高端的知识讲“低俗” -- 1 什么叫多模
MongoDB 合作考试报销活动 贴附属,MongoDB基础知识速通
MongoDB 使用网上妙招,直接DOWN机---清理表碎片导致的灾祸 (送书活动结束)
MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模
免费PolarDB云原生课程,听课“争”礼品,重塑云上知识,提高专业能力
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
POLARDB 添加字段 “卡” 住---这锅Polar不背
PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)
PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package(活动结束了)
PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火
PostgreSQL 无服务 Neon and Aurora 新技术下的新经济模式 (翻译)
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
全世界都在“搞” PostgreSQL ,从Oracle 得到一个“馊主意”开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁
PostgreSQL “我怎么就连个数据库都不会建?” --- 你还真不会!
PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?
POSTGRESQL --Austindatabaes 历年文章整理
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
MySQL相关文章





