← Back to blog
Xinchuang 4 min read 炬鲸团队

Domestic-Computing Migration: DM8 Support and Audit Compliance for Observability

What stalls a domestic-computing migration is the surrounding systems. This post covers connecting an observability platform to DM8, meeting audit and compliance requirements, and a dual-run migration plan with common pitfalls.

What actually slows down a domestic-computing migration

When people talk about moving to domestic computing, they picture swapping x86 for ARM and Oracle for DM. What really drags out the schedule is everything around the edges: if logs, monitoring, and tracing — the invisible infrastructure — cannot follow, the new environment comes up blind. An observability platform carries the site's logs and traces, so how deeply it adapts decides whether the migration can actually finish. In practice we see two failure patterns: teams that cut over the business systems first and only then discover the observability layer has nowhere to store data, and teams that bolt on a half-adapted platform and live with broken traces for months. That gap is exactly where an observability platform earns its keep: it is the first thing a support engineer opens during an incident, so if it cannot run on the new stack, the migration isn't really complete.

Connecting to DM8

DM8 supports several compatibility modes, and the choice determines how much code you change. For teams coming from MySQL, MySQL-compat mode is the smallest change: the SQL dialect, data types, and behavior are close enough that most queries run as-is. Observe speaks the MySQL protocol, so connecting to DM means touching a handful of things:

  • Swap the driver and connection string — the JDBC URL and driver class change, everything downstream stays the same
  • Pagination differences: DM supports LIMIT, but older versions prefer ROWNUM or TOP, so review any hand-written paging queries
  • Field-type mapping: TEXT/BLOB, DATETIME precision and defaults can differ subtly and break inserts or comparisons
  • Reserved-word escaping: DM reserves more words than MySQL, so table definitions need quoting around identifiers that collide

Config example:

database:
  type: dm
  host: 10.0.0.12
  port: 5236
  user: observe
  password: "***"
  mode: mysql-compat

One thing to verify early: DM's default transaction isolation and case sensitivity differ from MySQL in places, so run a full write-read-delete cycle against your own schema before rolling out to production.

Audit and compliance

Government and enterprise customers impose two kinds of compliance on an observability platform. First, operation auditing: login, query, export, and token rotation are all recorded and traceable to a person, which matters when a data-leak investigation needs to know exactly who queried what and when. Both requirements usually surface during acceptance testing, so wire them into your checklist early rather than retrofitting them after go-live. Second, data security:

  • Retention: logs are kept for at least 6 months by policy, with hot/cold tiering to cut cost — recent data on fast storage for instant queries, older data compressed on cheaper disks
  • Masking: phone numbers, ID numbers, and bank cards are automatically redacted, including in query results, so an operator with read access still cannot see raw PII
  • Tiered permissions: admin, read-only, and restricted roles, with data isolation between tenants

Run both stacks, don't cut over cold

Run the old and new stacks side by side for a while: point the new system at Observe, keep the old one as-is, and compare data for consistency. On the database side, use DM's DTS migration tool for schema and data first, then verify that reads, writes, search, and alerts all work, and only then switch traffic and retire the old stack.

Order matters. Migrate log ingestion first (stateless, low risk), then traces and metrics, then alert rules. Alert rules touch notification channels and on-call schedules, so they are the easiest thing to break during a cutover — verify them one by one last. Only when both systems agree on counts, latencies, and error rates for a full week should you consider the migration done.

Common pitfalls

Most of these bite during the first week of the cutover, so run each check early rather than discovering them at 2 a.m. during your first production incident.

  • DM's default port is 5236 — do not confuse it with MySQL's 3306
  • Standardize on UTF-8 to avoid mojibake in Chinese logs
  • Keep timezones consistent with the business systems, or trace timelines will misalign
  • Run a small traffic test before the migration to confirm DM's connection limits and slow-query thresholds can absorb the observability platform's write load