Oracle 23c의 JSON Relational Duality(JSON 관계형 이원성)의 주요 이점
오라클이 이번 23c 버전에서 JSON Relational Duality(JSON 관계형 이원성) 부분을 강조하는 거 같이 보인다.
정형/비정형 데이터을 동시에 지원하면서 다양한 데이터 유형을 지원하고
또 이를 활용하는 다양한 워크로드와 개발 방식을 유연하게 지원하고자 하는 것 같다.
이전에 23c 베타를 발표할 때 코드명을 "앱 심플(App Simple)" 라고 명칭했었다.
이 코드명에서 이번 버전에서 중점 사항을 유추해 볼 수 있을 거 같다.
정형/비정형 데이터 모두에 대한 지원과 같이 사용함으로써 얻는 이점과
다양한 워크로드 지원 기능을 통한 애플리케이션 개발 간소화, 이를 통한 생산성을 향상,
다양한 스타일의 워크로드 지원, 또 기존에 강점인 미션 크리티컬한 워크로드의 개선 등을 통해
시장의 우위를 다질려고 하는듯 보인다.
아래 내용에서 JSON Relational Duality(JSON 관계형 이원성)에 대한 오라클 소개와 튜토리얼 내용을 살펴 볼 수 있다.
참고하시기 바랍니다.
Key benefits of JSON Relational Duality: Experience it today using "Oracle Database 23c Free--Developer Release"
Oracle Database 23c JSON Relational Duality revolutionizes appdev by converging the benefits of the relational and document worlds within a single database. The new feature that enables this convergence is called JSON Relational Duality View (Will be simply referred below as Duality View).
With Duality View, while data gets stored in relational tables in a normalized way, it can be exposed to apps as JSON documents. Storing the data in relational tables delivers all the benefits of the relational model, whereas by exposing the same data as JSON documents, apps get schema flexibility and other benefits of the document model.
Lets look at some of the key benefits of using JSON Relational Duality views:
JSON Relational Duality helps to unify the benefits of both document and relational worlds. Developers now get the flexibility and data access benefits of the JSON document model, plus the storage efficiency and power of the relational model.
Using documents is not efficient for all use cases. Currently, if an organization stores data in a document database, they are forced to adapt various use cases even if using documents is not the most efficient way.
How JSON Relational Duality makes it flexible and efficient: Experience extreme flexibility in building apps using Duality view. Developers can access the same data relationally or as hierarchical documents based on their use case and are not forced into making compromises because of the limitations of the underlying database. Build document-centric apps on relational data or create SQL apps on documents.
Developers can manipulate documents realized by Duality Views using their favorite drivers, frameworks, tools, and development methods. They can operate on the same data as relational using standard SQL or as documents using standard document APIs:
Document database limits flexibility. When using a document database, developers are forced to use one hierarchy for various use cases. For example, using Orders hierarchy to build customer profiles or accessing customer data will be inefficient. Using one JSON hierarchy for all use cases makes appdev complex and impacts performance.
How JSON Relational Duality makes it easy: Developers can use the power of Duality view in defining multiple JSON Views across overlapping groups of tables. This flexible data modeling makes building multiple apps against the same data easy and efficient.
Document databases have an inherent problem that they keep their documents independent. They do not have a good mechanism to declare relationships between documents, leading to data duplication and inconsistencies. Duplicated data leads to higher maintenance costs, decision-making errors, and lost business opportunities.
JSON Relational Duality eliminates data duplication: Duality Views are fully ACID (atomicity, consistency, isolation, durability) transactions across multiple documents and tables. It eliminates data duplication, whereas consistency is maintained automatically.
Currently, app developers have to map between app-tier objects (used by programming languages) and relational tables. Developers assemble and modify data from several tables to implement a business use case. This is well-known in the industry as an object-relational impedance mismatch problem. The custom mapping between app-tier objects and relational tables makes app development more complex. In addition, since an operation on an app-tier object may lead to multiple access or update to participating tables, it also slows down performance.
Duality View eliminates the need for mapping objects to relational tables: It provides fully updateable JSON views over data. Apps can simply read a document, make necessary changes, and write the document back without worrying about underlying data structure, mapping, consistency, or performance tuning. Experience simplicity by retrieving and storing all the data needed for an app in a single database operation.
Traditional locks don’t work well for modern apps. A new lock-free concurrency control provided with Duality View helps support high concurrency updates, which also works efficiently for interactive applications since the data is not locked during human thinking time. Duality View also provides document-level serializability that helps to streamline concurrent updates to underlying tables. It automatically ensures consistency between document updates and direct updates to underlying tables — document APIs and SQL applications can update the same data concurrently.
Experience the benefit yourself: Try JSON Relational Duality using “Oracle Database 23c Free--Developer Release”
Oracle announced "Oracle Database 23c Free--Developer Release", allowing developers to start building apps using 23c features like JSON Relational Duality. We are making it easy for you to experience the power and flexibility of Duality View in building apps. We are providing well-documented and easy-to-learn tutorials on GitHub. You can download the tutorials and use them with “Oracle Database 23c Free--Developer Release”. In the tutorials, developers can use SQL, REST and Oracle Database API for MongoDB to try features, capabilities and examples related to Duality Views. We will also be providing LiveLabs to play with Duality Views in a ready-to-run environment - stay tuned.
Links: