SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
Do More with
EDB Postgres
김지훈 이사, APAC Solution Architect
2019-05-18
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.2
OPEN SOURCE IS THE NEW DATA CENTER STANDARD!
2009
Figure 1
Relational Open-Source DBMS Maturity Evaluation, 2015
Source: Gartner (April 2015)
Figure 2
Relational Open-Source DBMS Maturity Evaluation,2015
Source: Gartner (April 2015)
2015
Open-Source DBMS
Commercial
Non-Mission Critical
Applications
Non-Mission Critical
Applications
Mission
Critical
Applications
Mission
Critical
Applications
Total Cost of
Ownership
Total Cost of
Ownership
DBMS
Functionality
DBMS
Functionality
DBA
Tools
DBA
Tools
Availability of
DBA Resources
Availability of DBA
Resources
가트너, 오픈소스 RDBMS의 현주소, 2015
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
2022년까지 신규 개발 어플리케이션의 70% 이상은
오픈소스 DB를 기반으로 개발될 것이고, 기존 상용
DB의 50%는 오픈소스 DB로 교체되거나 그 과정에
있을 것이다.
— Gartner,
State of the Open-Source DBMS Market,
Merv Adrian, Donald Feinberg, February 28, 2018
3
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
POSTGRES: 2017,18년 올해의 DBMS!
4
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
WHO IS EDB?
The world leader in
open-source based Postgres
software and services.
• Founded in 2004
• Recognized RDBMS leader by:
• Gartner
• Forrester
• Customer base > 4000
• 300+ employees
• Offices worldwide
• Largest PostgreSQL community
leader
5
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
GARTNER MQ의
유일한
오픈소스 RDBMS
2013년부터
5년 연속 Gartner’s
Magic Quadrant 포함
6
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.8
EDB POSTGRES SOLUTION USE CASES
New Applications
• DevOps, schema-less
rapid development, and
multiple programming
language support
Migration to Cloud
• Flexible deployment
options and simple
business terms for
moving to the cloud
Application
Modernization
• Multi-model flexibility
and integration with
popular data
sources
Legacy Migration
• Compatibility
with Oracle
leverages
existing DBA and
developer skills
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
웹, 빅데이터, 도큐먼트 데이터와 EDB POSTGRES
• Foreign Data Wrapper
와 SQL/MED 기반
• MySQL, MongoDB &
Hadoop FDW는
서브스크립션에
기본 포함
• 커뮤니티를 통한 기타
FDWs 지원
9
R
R / W
R / W
File / CSVODBC/JDBC
MySQL
MongoDB
Twitter / FB
Hadoop
LDAP
Others…
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
NOSQL & RDBMS를 동시에 사용?
• SQL과 NoSQL이 동시에 사용되는 경우 별도의 프로그램 로직 불필요
– Postgres does it all!
10
SELECT DISTINCT
product_type,
data->>'brand' as Brand,
data->>'available' as Availability
FROM json_data
JOIN products
ON (products.product_type=json_data.data-
>>'name')
WHERE json_data.data->>'available'=true;
product_type | brand | availability
---------------------------+-----------+--------------
AC3 Phone | ACME | true
ANSI SQL
JSON
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.11
JSON OPERATORS
Operator
Right Operand
Type
Description Example
-> int Get JSON array element (indexed from zero, negative integers count from the end) '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2
-> text Get JSON object field by key '{"a": {"b":"foo"}}'::json->'a'
->> int Get JSON array element as text '[1,2,3]'::json->>2
->> text Get JSON object field as text '{"a":1,"b":2}'::json->>'b'
#> text[] Get JSON object at specified path '{"a": {"b":{"c": "foo"}}}'::json#>'{a,b}'
#>> text[] Get JSON object at specified path as text '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}'
@> jsonb Does the left JSON value contain the right JSON path/value entries at the top level? '{"a":1, "b":2}'::jsonb @> '{"b":2}'::jsonb
<@ jsonb Are the left JSON path/value entries contained at the top level within the right JSON value? '{"b":2}'::jsonb <@ '{"a":1, "b":2}'::jsonb
? text Does the string exist as a top-level key within the JSON value? '{"a":1, "b":2}'::jsonb ? 'b'
?| text[] Do any of these array strings exist as top-level keys? '{"a":1, "b":2, "c":3}'::jsonb ?| array['b', 'c']
?& text[] Do all of these array strings exist as top-level keys? '["a", "b"]'::jsonb ?& array['a', 'b']
|| jsonb Concatenate two jsonb values into a new jsonb value '["a", "b"]'::jsonb || '["c", "d"]'::jsonb
- text Delete key/value pair or string element from left operand. Key/value pairs are matched based on their key value. '{"a": "b"}'::jsonb - 'a'
- text[]
Delete multiple key/value pairs or string elements from left operand. Key/value pairs are matched based on their
key value.
'{"a": "b", "c": "d"}'::jsonb - '{a,c}'::text[]
- integer
Delete the array element with specified index (Negative integers count from the end). Throws an error if top level
container is not an array.
'["a", "b"]'::jsonb - 1
#- text[] Delete the field or element with specified path (for JSON arrays, negative integers count from the end) '["a", {"b":1}]'::jsonb #- '{1,b}'
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.12
JSON FUNCTIONS
Function Description Example Example Result
to_json(anyelement) Returns the value as json or jsonb. to_json('Fred said "Hi."'::text) "Fred said "Hi.""
array_to_json(anyarray [, pretty_bool]) Returns the array as a JSON array.
array_to_json('{{1,5},{99,100}}'::int
[])
[[1,5],[99,100]]
row_to_json(record [, pretty_bool]) Returns the row as a JSON object. row_to_json(row(1,'foo')) {"f1":1,"f2":"foo"}
json_build_array(VARIADIC "any")
Builds a possibly-heterogeneously-typed JSON array out of a
variadic argument list.
json_build_array(1,2,'3',4,5) [1, 2, "3", 4, 5]
json_build_object(VARIADIC "any") Builds a JSON object out of a variadic argument list. json_build_object('foo',1,'bar',2) {"foo": 1, "bar": 2}
json_object(text[]) Builds a JSON object out of a text array.
json_object('{a, 1, b, "def", c,
3.5}')
{"a": "1", "b": "def", "c": "3.5"}
json_object(keys text[], values text[])
This form of json_object takes keys and values pairwise from two
separate arrays. In all other respects it is identical to the one-
argument form.
json_object('{a, b}', '{1,2}') {"a": "1", "b": "2"}
참고 : https://www.postgresql.org/docs/current/functions-json.html
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.13
JSON, JSONB DEMO
• Demo 진행 절차
• http://examples.citusdata.com/customer_reviews_nested_1998.json.gz
• 209MB 60만 건 가량의 리뷰 데이터
• 테이블 생성 & 로딩
• JSON 오퍼레이터를 이용한 쿼리
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.14
FDW (FOREIGN DATA WRAPPER)란?
• PostgreSQL을 다른 시스템 / DB 연결을 통한 데이터 수집이나 쿼리/조인
등을 위한 통합 인터페이스로 활용
• 원격의 다양한 형식의 데이터소스를 로컬 테이블처럼 사용할 수 있도록
하는 기능
• 데이터소스는 DB, NoSQL, 하둡, 파일, 웹 등
형식이 정해져있지 않음
• 지원 기능
• WHERE 조건절 필터 Push-down
• DISTINCT, ORDER BY, GROUP BY
• 내부 테이블과 조인
• 비교, 수학, 문자, 패턴 매칭,
날짜/시간 등 다양한 함수 지원
• DML 지원
PostgreSQL
Mongo HDFS
FDW
File
Other
DBMS
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.15
FDW 작동 원리
Parser
SQL
Optimizer
Executor
Plan
Function
Read
Function
Write
Function
테이블 크기
예상치
Access Path Plan 생성
Begin Fetch End
Begin DML End
SQL Engine Foreign Data Wrapper
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.16
FDW 설정 방법
• Extension 생성
CREATE EXTENSION dummy_fdw;
• Foreign Server 생성
CREATE SERVER dummy_server
FOREIGN DATA WRAPPER dummy_fdw
OPTIONS (host '127.0.0.1', port '3306');
• User-Mapping 생성
CREATE USER MAPPING FOR postgres
SERVER dummy_server
OPTIONS (username 'foo', password 'bar');
• Foreign Table 생성
CREATE FOREIGN TABLE f_table(id int, name text)
SERVER mysql_server
OPTIONS (dbname 'db', table_name ’r_table');
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.17
FDW 사용 방법
• Foreign Table 사용법은 일반 테이블의 사용법과 동일
• Foreign Table 조회
SELECT id, name FROM f_table WHERE id = 1;
• Foreign Table 데이터 입력
INSERT INTO f_table values (1, ’foor’,);
INSERT INTO f_table values (2, ’bar’,);
• Foreign Table 데이터 삭제
DELETE FROM f_table where id= 2;
• Foreign Table 데이터 업데이트
UPDATE f_table set name= ’bar' WHERE id = 1;
• 실행 계획 조회
EXPLAIN SELECT id, name FROM f_table WHERE name LIKE ’foo' limit 1;
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.18
JSON, JSONB DEMO
• Demo 진행 절차
• Load MongoDB Extension
• Create MongoDB FDW
• Execute DML
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.19
USE CASE #1 : MONGODB FDW
Undisclosed 미국계 글로벌 카드사
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.20
USE CASE #2 : CASSANDRA FDW
Samsung SDS Smart Home
The Most Complete Open
Source Database Platform
© Copyright EnterpriseDB Corporation, 2019. All rights reserved.
THANK YOU
sales-kr@enterprisedb.com
www.enterprisedb.com

Mais conteúdo relacionado

Mais procurados

Szabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításábólSzabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításábólEDB
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLEDB
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBMongoDB
 
Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015EDB
 
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in MinutesEPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in MinutesEDB
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and DjangoEDB
 
Solution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big DataSolution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big DataInfiniteGraph
 
Webinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBWebinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBMongoDB
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...EDB
 
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
Postgres Databases in Minutes with the EDB Postgres Cloud Database ServicePostgres Databases in Minutes with the EDB Postgres Cloud Database Service
Postgres Databases in Minutes with the EDB Postgres Cloud Database ServiceEDB
 
Optimizing your SparkML pipelines using the latest features in Spark 2.3
Optimizing your SparkML pipelines using the latest features in Spark 2.3Optimizing your SparkML pipelines using the latest features in Spark 2.3
Optimizing your SparkML pipelines using the latest features in Spark 2.3DataWorks Summit
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP SystemMongoDB
 
Insights into Real-world Data Management Challenges
Insights into Real-world Data Management ChallengesInsights into Real-world Data Management Challenges
Insights into Real-world Data Management ChallengesDataWorks Summit
 
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres DayZero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres DayEDB
 
Dynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDataWorks Summit
 
Why Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQLWhy Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQLEDB
 
NORM: No ORM Framework
 NORM: No ORM Framework NORM: No ORM Framework
NORM: No ORM FrameworkEDB
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolEDB
 
SQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL DatabasesSQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL DatabasesOReillyStrata
 

Mais procurados (20)

Szabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításábólSzabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításából
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
 
Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015
 
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in MinutesEPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in Minutes
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and Django
 
Solution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big DataSolution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big Data
 
Webinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBWebinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDB
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
 
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
Postgres Databases in Minutes with the EDB Postgres Cloud Database ServicePostgres Databases in Minutes with the EDB Postgres Cloud Database Service
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
 
Optimizing your SparkML pipelines using the latest features in Spark 2.3
Optimizing your SparkML pipelines using the latest features in Spark 2.3Optimizing your SparkML pipelines using the latest features in Spark 2.3
Optimizing your SparkML pipelines using the latest features in Spark 2.3
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
 
Insights into Real-world Data Management Challenges
Insights into Real-world Data Management ChallengesInsights into Real-world Data Management Challenges
Insights into Real-world Data Management Challenges
 
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres DayZero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
 
Dynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the fly
 
Why Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQLWhy Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQL
 
NORM: No ORM Framework
 NORM: No ORM Framework NORM: No ORM Framework
NORM: No ORM Framework
 
Hive 3 a new horizon
Hive 3  a new horizonHive 3  a new horizon
Hive 3 a new horizon
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic Tool
 
SQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL DatabasesSQL on Hadoop: Defining the New Generation of Analytic SQL Databases
SQL on Hadoop: Defining the New Generation of Analytic SQL Databases
 

Semelhante a Enterprise Postgres

Do More with Postgres- NoSQL Applications for the Enterprise
Do More with Postgres- NoSQL Applications for the EnterpriseDo More with Postgres- NoSQL Applications for the Enterprise
Do More with Postgres- NoSQL Applications for the EnterpriseEDB
 
NoSQL on ACID: Meet Unstructured Postgres
NoSQL on ACID: Meet Unstructured PostgresNoSQL on ACID: Meet Unstructured Postgres
NoSQL on ACID: Meet Unstructured PostgresEDB
 
Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...
Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...
Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...Mydbops
 
mongodb-introduction
mongodb-introductionmongodb-introduction
mongodb-introductionTse-Ching Ho
 
Build a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OSBuild a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OSJane Man
 
The Central View of your Data with Postgres
The Central View of your Data with PostgresThe Central View of your Data with Postgres
The Central View of your Data with PostgresEDB
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revisedMongoDB
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessMongoDB
 
Power JSON with PostgreSQL
Power JSON with PostgreSQLPower JSON with PostgreSQL
Power JSON with PostgreSQLEDB
 
MongoDB Tips and Tricks
MongoDB Tips and TricksMongoDB Tips and Tricks
MongoDB Tips and TricksM Malai
 
MongoDB performance
MongoDB performanceMongoDB performance
MongoDB performanceMydbops
 
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDBMongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDBMongoDB
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksAmazon Web Services
 
Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...
Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...
Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...Amazon Web Services
 
Building Services With gRPC, Docker and Go
Building Services With gRPC, Docker and GoBuilding Services With gRPC, Docker and Go
Building Services With gRPC, Docker and GoMartin Kess
 
Postgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps FasterPostgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps FasterEDB
 
introtomongodb
introtomongodbintrotomongodb
introtomongodbsaikiran
 

Semelhante a Enterprise Postgres (20)

Do More with Postgres- NoSQL Applications for the Enterprise
Do More with Postgres- NoSQL Applications for the EnterpriseDo More with Postgres- NoSQL Applications for the Enterprise
Do More with Postgres- NoSQL Applications for the Enterprise
 
NoSQL on ACID: Meet Unstructured Postgres
NoSQL on ACID: Meet Unstructured PostgresNoSQL on ACID: Meet Unstructured Postgres
NoSQL on ACID: Meet Unstructured Postgres
 
Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...
Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...
Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...
 
mongodb-introduction
mongodb-introductionmongodb-introduction
mongodb-introduction
 
Build a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OSBuild a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OS
 
The Central View of your Data with Postgres
The Central View of your Data with PostgresThe Central View of your Data with Postgres
The Central View of your Data with Postgres
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revised
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational Awareness
 
Power JSON with PostgreSQL
Power JSON with PostgreSQLPower JSON with PostgreSQL
Power JSON with PostgreSQL
 
MongoDB Tips and Tricks
MongoDB Tips and TricksMongoDB Tips and Tricks
MongoDB Tips and Tricks
 
MongoDB performance
MongoDB performanceMongoDB performance
MongoDB performance
 
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDBMongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
 
Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...
Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...
Building Content Recommendation Systems Using Apache MXNet and Gluon - MCL402...
 
Building Services With gRPC, Docker and Go
Building Services With gRPC, Docker and GoBuilding Services With gRPC, Docker and Go
Building Services With gRPC, Docker and Go
 
MongodB Internals
MongodB InternalsMongodB Internals
MongodB Internals
 
Postgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps FasterPostgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps Faster
 
MongoDB 3.4 webinar
MongoDB 3.4 webinarMongoDB 3.4 webinar
MongoDB 3.4 webinar
 
introtomongodb
introtomongodbintrotomongodb
introtomongodb
 

Mais de Oracle Korea

Oracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Korea
 
Oracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Korea
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interfaceOracle Korea
 
On premise db &amp; cloud database
On premise db &amp; cloud databaseOn premise db &amp; cloud database
On premise db &amp; cloud databaseOracle Korea
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoringOracle Korea
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaegerOracle Korea
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발Oracle Korea
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential Oracle Korea
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 
CI/CD 기반의 Microservice 개발
 CI/CD 기반의 Microservice 개발 CI/CD 기반의 Microservice 개발
CI/CD 기반의 Microservice 개발Oracle Korea
 
kubernetes from beginner to advanced
kubernetes  from beginner to advancedkubernetes  from beginner to advanced
kubernetes from beginner to advancedOracle Korea
 
Cloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewCloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewOracle Korea
 
Eclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – HelidonEclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – HelidonOracle Korea
 
times ten in-memory database for extreme performance
times ten in-memory database for extreme performancetimes ten in-memory database for extreme performance
times ten in-memory database for extreme performanceOracle Korea
 
[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자Oracle Korea
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub ServiceOracle Korea
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습Oracle Korea
 
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개 [Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개 Oracle Korea
 
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로Oracle Korea
 

Mais de Oracle Korea (20)

Oracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo Yoo
 
Oracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTO
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interface
 
On premise db &amp; cloud database
On premise db &amp; cloud databaseOn premise db &amp; cloud database
On premise db &amp; cloud database
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaeger
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
CI/CD 기반의 Microservice 개발
 CI/CD 기반의 Microservice 개발 CI/CD 기반의 Microservice 개발
CI/CD 기반의 Microservice 개발
 
kubernetes from beginner to advanced
kubernetes  from beginner to advancedkubernetes  from beginner to advanced
kubernetes from beginner to advanced
 
OpenJDK & Graalvm
OpenJDK & GraalvmOpenJDK & Graalvm
OpenJDK & Graalvm
 
Cloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewCloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm Overview
 
Eclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – HelidonEclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – Helidon
 
times ten in-memory database for extreme performance
times ten in-memory database for extreme performancetimes ten in-memory database for extreme performance
times ten in-memory database for extreme performance
 
[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개 [Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
 
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Enterprise Postgres

  • 1. © Copyright EnterpriseDB Corporation, 2019. All rights reserved. Do More with EDB Postgres 김지훈 이사, APAC Solution Architect 2019-05-18
  • 2. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.2 OPEN SOURCE IS THE NEW DATA CENTER STANDARD! 2009 Figure 1 Relational Open-Source DBMS Maturity Evaluation, 2015 Source: Gartner (April 2015) Figure 2 Relational Open-Source DBMS Maturity Evaluation,2015 Source: Gartner (April 2015) 2015 Open-Source DBMS Commercial Non-Mission Critical Applications Non-Mission Critical Applications Mission Critical Applications Mission Critical Applications Total Cost of Ownership Total Cost of Ownership DBMS Functionality DBMS Functionality DBA Tools DBA Tools Availability of DBA Resources Availability of DBA Resources 가트너, 오픈소스 RDBMS의 현주소, 2015
  • 3. © Copyright EnterpriseDB Corporation, 2019. All rights reserved. 2022년까지 신규 개발 어플리케이션의 70% 이상은 오픈소스 DB를 기반으로 개발될 것이고, 기존 상용 DB의 50%는 오픈소스 DB로 교체되거나 그 과정에 있을 것이다. — Gartner, State of the Open-Source DBMS Market, Merv Adrian, Donald Feinberg, February 28, 2018 3
  • 4. © Copyright EnterpriseDB Corporation, 2019. All rights reserved. POSTGRES: 2017,18년 올해의 DBMS! 4
  • 5. © Copyright EnterpriseDB Corporation, 2019. All rights reserved. WHO IS EDB? The world leader in open-source based Postgres software and services. • Founded in 2004 • Recognized RDBMS leader by: • Gartner • Forrester • Customer base > 4000 • 300+ employees • Offices worldwide • Largest PostgreSQL community leader 5
  • 6. © Copyright EnterpriseDB Corporation, 2019. All rights reserved. GARTNER MQ의 유일한 오픈소스 RDBMS 2013년부터 5년 연속 Gartner’s Magic Quadrant 포함 6
  • 7. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.8 EDB POSTGRES SOLUTION USE CASES New Applications • DevOps, schema-less rapid development, and multiple programming language support Migration to Cloud • Flexible deployment options and simple business terms for moving to the cloud Application Modernization • Multi-model flexibility and integration with popular data sources Legacy Migration • Compatibility with Oracle leverages existing DBA and developer skills
  • 8. © Copyright EnterpriseDB Corporation, 2019. All rights reserved. 웹, 빅데이터, 도큐먼트 데이터와 EDB POSTGRES • Foreign Data Wrapper 와 SQL/MED 기반 • MySQL, MongoDB & Hadoop FDW는 서브스크립션에 기본 포함 • 커뮤니티를 통한 기타 FDWs 지원 9 R R / W R / W File / CSVODBC/JDBC MySQL MongoDB Twitter / FB Hadoop LDAP Others…
  • 9. © Copyright EnterpriseDB Corporation, 2019. All rights reserved. NOSQL & RDBMS를 동시에 사용? • SQL과 NoSQL이 동시에 사용되는 경우 별도의 프로그램 로직 불필요 – Postgres does it all! 10 SELECT DISTINCT product_type, data->>'brand' as Brand, data->>'available' as Availability FROM json_data JOIN products ON (products.product_type=json_data.data- >>'name') WHERE json_data.data->>'available'=true; product_type | brand | availability ---------------------------+-----------+-------------- AC3 Phone | ACME | true ANSI SQL JSON
  • 10. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.11 JSON OPERATORS Operator Right Operand Type Description Example -> int Get JSON array element (indexed from zero, negative integers count from the end) '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2 -> text Get JSON object field by key '{"a": {"b":"foo"}}'::json->'a' ->> int Get JSON array element as text '[1,2,3]'::json->>2 ->> text Get JSON object field as text '{"a":1,"b":2}'::json->>'b' #> text[] Get JSON object at specified path '{"a": {"b":{"c": "foo"}}}'::json#>'{a,b}' #>> text[] Get JSON object at specified path as text '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}' @> jsonb Does the left JSON value contain the right JSON path/value entries at the top level? '{"a":1, "b":2}'::jsonb @> '{"b":2}'::jsonb <@ jsonb Are the left JSON path/value entries contained at the top level within the right JSON value? '{"b":2}'::jsonb <@ '{"a":1, "b":2}'::jsonb ? text Does the string exist as a top-level key within the JSON value? '{"a":1, "b":2}'::jsonb ? 'b' ?| text[] Do any of these array strings exist as top-level keys? '{"a":1, "b":2, "c":3}'::jsonb ?| array['b', 'c'] ?& text[] Do all of these array strings exist as top-level keys? '["a", "b"]'::jsonb ?& array['a', 'b'] || jsonb Concatenate two jsonb values into a new jsonb value '["a", "b"]'::jsonb || '["c", "d"]'::jsonb - text Delete key/value pair or string element from left operand. Key/value pairs are matched based on their key value. '{"a": "b"}'::jsonb - 'a' - text[] Delete multiple key/value pairs or string elements from left operand. Key/value pairs are matched based on their key value. '{"a": "b", "c": "d"}'::jsonb - '{a,c}'::text[] - integer Delete the array element with specified index (Negative integers count from the end). Throws an error if top level container is not an array. '["a", "b"]'::jsonb - 1 #- text[] Delete the field or element with specified path (for JSON arrays, negative integers count from the end) '["a", {"b":1}]'::jsonb #- '{1,b}'
  • 11. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.12 JSON FUNCTIONS Function Description Example Example Result to_json(anyelement) Returns the value as json or jsonb. to_json('Fred said "Hi."'::text) "Fred said "Hi."" array_to_json(anyarray [, pretty_bool]) Returns the array as a JSON array. array_to_json('{{1,5},{99,100}}'::int []) [[1,5],[99,100]] row_to_json(record [, pretty_bool]) Returns the row as a JSON object. row_to_json(row(1,'foo')) {"f1":1,"f2":"foo"} json_build_array(VARIADIC "any") Builds a possibly-heterogeneously-typed JSON array out of a variadic argument list. json_build_array(1,2,'3',4,5) [1, 2, "3", 4, 5] json_build_object(VARIADIC "any") Builds a JSON object out of a variadic argument list. json_build_object('foo',1,'bar',2) {"foo": 1, "bar": 2} json_object(text[]) Builds a JSON object out of a text array. json_object('{a, 1, b, "def", c, 3.5}') {"a": "1", "b": "def", "c": "3.5"} json_object(keys text[], values text[]) This form of json_object takes keys and values pairwise from two separate arrays. In all other respects it is identical to the one- argument form. json_object('{a, b}', '{1,2}') {"a": "1", "b": "2"} 참고 : https://www.postgresql.org/docs/current/functions-json.html
  • 12. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.13 JSON, JSONB DEMO • Demo 진행 절차 • http://examples.citusdata.com/customer_reviews_nested_1998.json.gz • 209MB 60만 건 가량의 리뷰 데이터 • 테이블 생성 & 로딩 • JSON 오퍼레이터를 이용한 쿼리
  • 13. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.14 FDW (FOREIGN DATA WRAPPER)란? • PostgreSQL을 다른 시스템 / DB 연결을 통한 데이터 수집이나 쿼리/조인 등을 위한 통합 인터페이스로 활용 • 원격의 다양한 형식의 데이터소스를 로컬 테이블처럼 사용할 수 있도록 하는 기능 • 데이터소스는 DB, NoSQL, 하둡, 파일, 웹 등 형식이 정해져있지 않음 • 지원 기능 • WHERE 조건절 필터 Push-down • DISTINCT, ORDER BY, GROUP BY • 내부 테이블과 조인 • 비교, 수학, 문자, 패턴 매칭, 날짜/시간 등 다양한 함수 지원 • DML 지원 PostgreSQL Mongo HDFS FDW File Other DBMS
  • 14. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.15 FDW 작동 원리 Parser SQL Optimizer Executor Plan Function Read Function Write Function 테이블 크기 예상치 Access Path Plan 생성 Begin Fetch End Begin DML End SQL Engine Foreign Data Wrapper
  • 15. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.16 FDW 설정 방법 • Extension 생성 CREATE EXTENSION dummy_fdw; • Foreign Server 생성 CREATE SERVER dummy_server FOREIGN DATA WRAPPER dummy_fdw OPTIONS (host '127.0.0.1', port '3306'); • User-Mapping 생성 CREATE USER MAPPING FOR postgres SERVER dummy_server OPTIONS (username 'foo', password 'bar'); • Foreign Table 생성 CREATE FOREIGN TABLE f_table(id int, name text) SERVER mysql_server OPTIONS (dbname 'db', table_name ’r_table');
  • 16. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.17 FDW 사용 방법 • Foreign Table 사용법은 일반 테이블의 사용법과 동일 • Foreign Table 조회 SELECT id, name FROM f_table WHERE id = 1; • Foreign Table 데이터 입력 INSERT INTO f_table values (1, ’foor’,); INSERT INTO f_table values (2, ’bar’,); • Foreign Table 데이터 삭제 DELETE FROM f_table where id= 2; • Foreign Table 데이터 업데이트 UPDATE f_table set name= ’bar' WHERE id = 1; • 실행 계획 조회 EXPLAIN SELECT id, name FROM f_table WHERE name LIKE ’foo' limit 1;
  • 17. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.18 JSON, JSONB DEMO • Demo 진행 절차 • Load MongoDB Extension • Create MongoDB FDW • Execute DML
  • 18. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.19 USE CASE #1 : MONGODB FDW Undisclosed 미국계 글로벌 카드사
  • 19. © Copyright EnterpriseDB Corporation, 2019. All rights reserved.20 USE CASE #2 : CASSANDRA FDW Samsung SDS Smart Home
  • 20. The Most Complete Open Source Database Platform © Copyright EnterpriseDB Corporation, 2019. All rights reserved. THANK YOU sales-kr@enterprisedb.com www.enterprisedb.com