Search

Hongke's latest articles

HongKe

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

[HTC Expert Opinion] Why the mixing of "Linked Database + Graph Database" will push the system to the high complexity threshold?

The core background for the emergence of Multi-model Database is not that there are not enough database types, but that the complexity of the business system continues to rise, making it difficult for a single model to satisfy the mixed requirements of "attribute query" and "relationship traversal" at the same time. When "Relational DB + Graph DB" are put into the same business chain and carry the relational business logic together, the complexity of the system architecture often rises at a non-linear rate, and the rate of increase often exceeds the expectations at the early stage of design.

A common architecture evolution path is: the original associative database continues to store entity data and core fields; a new graph database is added to store inter-entity relationships and specializes in multi-hop traversal; and then the Application Layer is responsible for "gluing" the results from both sides back to the same return object. The design document seems to have clear boundaries: associative answers to the question "what is the data", and graph database answers to the question "how is the data connected", but real-world querying needs almost never stay in a single model.

In practice, most queries are a hybrid of "attribute + relationship": first capture "active users in the last 30 days" (attribute filtering, favoring relational), then look at the friends/interactions between these people (multi-hopping, favoring graphical database); or first identify "high-risk accounts" (attribute and transaction history filtering), and then expand along the path of the relationship to check for potential relationships. These are actually a closed loop in business language, but under the framework of "Associative + Graph Database" hybridization, it will be forced to split into multiple processes: first filter the ID list in the associative database, then synchronize or instantly push to the graph database, traverse the graph, and finally go back to the application layer for secondary assembly and processing. What really eats up the development cost of enterprises is often the "cross-system query semantics" rather than a particular database itself.

Next, the technical team encounters the more difficult issue of Data Consistency:

  • Entities are deleted from the relational database, edges in the graph database are not cleaned up, and queries pop up with "ghost relationships";
  • The key attributes in the correlation are updated (e.g., user status, account level), but the graph analysis still eats the old data, resulting in distorted results;
  • When the same business action needs to modify both sides of the data at the same time, it is difficult to achieve atomicity by writing twice, and the dilemma of "one side succeeds and the other side fails" often occurs.

To remedy these architectural holes, teams often add Event-driven Architecture/Message Queue, compensation mechanisms, regular review and repair tasks, and accept some level of Eventual Consistency at the business level; but these "fixes" gradually shift the focus from creating business value to fault tolerance and remediation. However, these "enhancements" gradually shift the focus of the system from creating business value to fault tolerance and remediation.

What is more easily ignored, but extremely damaging, is that the transaction semantics are broken down: originally, in a single database, a business operation could be wrapped in the same ACID transaction, and the rollback would be complete upon failure; after mixing, a business operation becomes multiple cross-system writes, and the strong consistency is often degraded to final consistency, and the rollback logic is forced to be manually written at the application level. After mixing, a single business operation becomes multiple cross-system writes, and strong consistency often degrades into eventual consistency, and the rollback logic is forced to move up to the application layer for manual writing. As a result, statefulness judgment fills the core process, error handling "invades" business code, and system behavior becomes increasingly difficult to reason about. Troubleshooting a problem requires crossing two databases and an entire call chain, and the cost of localization skyrockets.

When complexity builds to a critical point, the architecture limits the speed of business evolution: a small requirement may require changes to the federated database, graph database, synchronization pipelines, and application layer assembly; a small exception may take days to track down across multiple technology stacks (databases, queues, services). The team's technical decisions become more and more conservative, because any change may step on the existing cross-system coupling points. At this point, even if the enterprise has a strong graphical query capability, it is often completely swallowed up by the "integration and consistency costs".

Therefore, the problem is not the graph database itself, but the "Split Data Views": the same business view is split into two sets (entities/attributes in relational and relationships in graph database), and the application layer is forced to take the responsibility of "integrating data semantics", which should be absorbed by the data layer as much as possible. The industry often refers to the strategy of using multiple databases for the same application as Polyglot Persistence, which has the advantage of taking advantage of each other's strengths, but at the cost of higher integration and consistency, and a significant increase in the complexity of maintenance and operation.

Back to the solution idea of Multi-model Database (Multi-model Database): the core focus is to "unify" rather than keep "stacking" technology stacks on the same core chain. It wants to answer the question:

  1. Can entities, attributes and relationships be represented simultaneously in the same system?
  2. Is it possible to do attribute filtering and relationship traversal at the same time with one query?
  3. Can entities and relationships be updated under a consistent Transaction Semantics to avoid transaction boundaries being split?

in order to ArangoDB For example, its official documentation clearly lists Multi-document/Multi-collection queries as providing full ACID transaction/transaction assurance in a Single Server scenario.

Finally, HongKe would like to emphasize that the hybrid architecture of "federated + graph database" is not the original sin, but it has its own strict prerequisites: business boundaries are clear enough, system scale is controllable, and the team has enough manpower and resources to bear the maintenance cost of data synchronization and consistency in the long run. If the main problem of your enterprise is the complexity of the system itself, then trying to solve the single-point problem by adding another database will easily fall into the vicious cycle of "the more you add, the more you bloat". The architectural value of multi-model databases lies precisely in the fact that there is "one less type of split", which significantly reduces the hidden hidden costs brought by cross-system technical adhesion.

Other Articles

虹科 MSR175plus 衝擊與環境數據記錄器外觀圖:黃色堅固外殼配有 GNSS 定位功能、三軸加速度(X/Y/Z)以及溫度、濕度、氣壓、光照與傾斜感測器圖示,專用於運輸與物流監測。
Hongke Dry Goods

[Hongke Case Study] TSMC Selects MSR Shock and Vibration Data Loggers

How Can You Prevent Vibration Damage During International Transport of Semiconductor Wafers and Photomasks? We Reveal the Key Reasons TSMC Chose Hongke’s MSR175Plus Shock and Vibration Data Logger! The product features long battery life and large-capacity memory, enabling precise recording of temperature, humidity, pressure, and multi-axis acceleration during long-distance transport. In an exclusive interview, a TSMC engineer shares how the company converts vibration into quantifiable data and establishes rigorous standards to effectively reduce the risk of damage and significantly improve the success rate of international shipments!

Read more
PCB 電路板組裝視覺檢測與測量示意圖:陣列排列的印刷電路板(PCBA)在藍光光源下展示晶片、元件與金屬焊盤細節,適用於 SMT 表面貼裝自動光學檢測(AOI)與品質管控。
Hongke Dry Goods

[Hongke Solutions] How Can AI-Powered Industrial Vision Inspection Overcome Quality Bottlenecks? A Comprehensive Analysis of Multi-Camera PTP Synchronization and Defect Detection

An In-Depth Analysis of AI Industrial Vision Inspection Technology! Explore how high-resolution industrial cameras, AI deep learning algorithms, and IEEE 1588 PTP microsecond-level multi-camera time synchronization precisely overcome bottlenecks in PCB component measurement and lithium-ion battery defect detection, and SMT Automated Optical Inspection (AOI), thereby improving production line yield!

Read more
可配置的CAN FD模擬I/O模塊 功能概述: PCAN-MicroMod FD系列模塊是支持CAN FD的數采模塊。 PCAN-MicroMod FD 插入式板卡可以和即插即用的母板一起購買,母板提供了各種外設可滿足特定需要。對於CAN連接、I/O、和供電,可用彈簧端子連接器。 PCAN-MicroMod FD 數字版1和2著重於數字輸入和輸出,其上有相應的保護電路。數字1的數字輸出裝備了低邊開關,數字2的裝備了高邊開關。
Hongke Dry Goods

[Hongke Solutions] Can’t Read CAN Data? Not Enough Temperature Channels? A Comprehensive Guide to Integrating NVH and Battery Data Acquisition

Is your current NVH data logger unable to read the CAN bus? Are there not enough temperature channels for battery testing? Hongke offers the PCAN-MicroMod FD and MU-Thermocouple1 CAN FD modules to enable CAN(FD)-to-analog conversion and high-density thermocouple multi-module cascading expansion. No coding required—just unbox and use it right away, with no need to replace your existing system!

Read more

Contact Hongke to help you solve your problems.

Let's have a chat