데이터의실시간접근을가속화하는 In- Memory DBMS soliddb
Agenda 1 MMDBMS 소개및동향 2 Solid Information 소개 3 활용사례 2
Agenda 1 MMDBMS 소개및동향 2 Solid Information 소개 3 활용사례 3
1.1 MMDBMS 개요 MMDBMS(Main Memory DataBase Management System) 는데이터베이스를메모리에상주시켜운영하는 DBMS로디스크접근없이메모리에직접접근하여데이터읽기연산을수행합니다. 메모리 DBMS, MMDB(Main Memory Database), In-Memory Database System, in-main Memory Database 등다양하게불리워지고있습니다. Startup 과동시에 Database 를 Memory 에상주시켜관리및운영하는 DBMS Main Memory Database Tables Indexes Checkpointing Startup Logging Data File Log File 4
1.2 MMDBMS 등장배경 대용량메모리탑재시스템의등장. 64 비트프로세서의등장으로무한대의메모리공간사용가능. 메모리가격의인하로인한시장인식의변화. 실시간처리를요하는업무영역의증대와한단계높아진고객의요구사항. 5
1.3 MMDBMS 특징 관계형데이터모델지원. 트랜잭션로그파일과주기적인체크포인트를통해정합성보장. 구동과동시에디스크에존재하는테이블의내용이메모리에모두올라운영. 데이터에접근하는속도가거의일정하며데이터추출방법역시간단하고명료. 메모리데이터의접근이라는전제를가지고만들어진인덱싱기법을이용하여인덱스의크기를 줄이며관리비용절감. 6
1.4 MMDBMS vs DDBMS Main Memory DBMS Disk Based DBMS Data Model Relational Relational 시스템 구조 Client/Server 및내장 DBMS Client/Server 서버구조 Multi-Thread 구조 Multi-Thread/Multi-Process 구조 CPU 사용률 단순한 Search Algorithm 의사용으로 CPU 사용량최소화 복잡한 Search Algorithm 의사용으로 CPU 사용률이높음 아키텍처 DISK I/O Recovery 를위한최소한의 I/O 만발생하며, Insert, Update, Delete 에대한직접적인 Disk I/O 발생이없음 Insert, Update, Delete 에대한직접적인 Disk I/O 발생하며, 데이터캐싱 (Select) 을위한데이터 Copy 의불필요한 I/O 발생 장점 Random Memory Access 에초점을맞추어최적화함으로써성능이빠르며즉각적인응답을줄수있음. 저렴한스토리지를저장공간으로사용하며데이터증가시유연한확장성및안정성가능. 단점 데이터확장시제약이있으며이력데이터관리를위해별도의 DDBMS 와의연동필요 구조적인차이로성능면에서 MMDBMS 에떨어짐. 7
Agenda 1 MMDBMS 동향 2 Solid Information 소개 3 활용사례 8
2.1 Solid Information Technology in-memory 데이타베이스소프트웨어의선두주자 1992 년핀란드헬싱키에서설립. 현재 California, Cupertino 에본사위치 2008 년 01 월 IBM 에인수. Airbus, Alcatel, Cisco, Motorola, Nokia-Siemens, NEC, Nortel 등시장선두업체들이 Solid 솔루션를사용하여서비스를제공. Solid provides proven technology, providing over 3,000,000 deployments worldwide with realtime data access 통신및기업애플리케이션, embeded Software 에서 3백만개이상설치되어사용. 통신분야에서특히강함. 입증된 Technology인 TM1 Benchmark 제공. 9
2.2 SolidDB 를사용하는통신분야고객사례 OSS Solutions 적용사례 HP OpenView family Nokia Traffica Nortel Shasta Application Platforms의적용사례 Siemens TSP7000 Nortel Siren NEC Intelligence Controls의적용사례 SIP application servers, Class 5 softswitches, Presence servers, Media Gateways, IMS control elements (HSS..) Cutting-Edge Applications의적용사례 VoIP Push-to-Talk E-911 Online Charging 10 SELECTED COMPANIES
2.3 SolidDB 와함께한 ISV 및 NEP 의성공사례 BridgePort Networks 는 VOIP 가입자가가입자의핸드폰번호를이용하여인터넷기반통화를할수있도록서비스를제공합니다. 이서비스는 Solid6 를활용하여인터넷사용자가즉각적으로등록및인증할수있도록하였습니다. 시스코의 Wireless Location Appliance 는 Solid6 에기반한위치솔루션으로수천개의위치디바이스를동시에추적할수있으며빠른문제해결및 Radio 주파수의용량관리서비스도제공합니다. NEC 는 SolidDB 를이용하여핸드폰사용자의요청을적절한서비스제공자에게 20 초이내로전달합니다. TruePosition 는 SolidDB 를이용하여핸드폰사용들이즉각적으로도움받을수있도록 911 위치서비스를제공합니다. 11
2.4 SolidDB 특장점 SolidDB V6 는 in-memory 및디스크엔진이모두탑재되어단일 SQL 문을이용하여빠르고항상데이터에접근할수 있도록디자인된고성능의 Relational Database 입니다. 고성능 0.000001 (1 Microsecond) 초의 Latency 및십만개의동시트랜잭션처리 고가용성 무중단서비스 - 99.9999% 의데이터가용성 Hot Standby 로즉각적인 FailOver 저렴한 Total Cost Ownership in-memory 와 on-disk 결합을통한일관성있는처리 애플리케이션내의손쉽고유연한전개옵션및관리 10MB 안팎의작은사이즈 Zero-Administration 표준및개방성지원 12 고가용성 고성능 Solid6 는저렴한비용으로최고의성능및고가용성을제공하는 MMDBMS 입니다. 저렴한비용
2.5 SolidDB 주요기능 In-memory, Relational Database 디스크보다는항상 Main Memory 데이터를유지. 표준인터페이스 (ODBC,JDBC,SQL 인터페이스 ) 등을통해손쉽게애플리케이션개발. 즉각적인 Fail-Over SolidDB 는항상일치된데이터복제본을유지 시스템오류시데이터손실없이 0.001 초내에 SolidDB 에대한접근복구가능. Embeddable SolidDB 는 Client/Server 구성또는 Linked-Library 로애플리케이션내에내재되어구성가능. 10MB 미만의작은사이즈 13
2.6 SolidDB 제공솔루션유형 soliddb Cache soliddb Cache for DB2 for IDS soliddb (standalone) Applications Applications Applications Cache Cache 14
2.7 SolidDB 솔루션기능 : High Availability Application 중단없는 FailOver: Hot Standby 로 FailOver 시 0.001 초 ( 1 milisecond) 소요됨. 간편한 Hot Standby 구성제공 Active cache (primary) soliddb Hot standby cache (secondary) Asynchronous 와 Synchronous 등다양한복제옵션제공 Cache Every transaction gets replicated in real time Cache DB2 may be configured for High Availability and Disaster Recovery IDS may be configured for High- Availability Data Replication 15
2.7 SolidDB 솔루션기능 : 단순, 간결함 실행가능한서버제품또는 linked Library 형식으로내장되어전개가능 최소 RAM 요구사항 : 5MB 3MB 보다작은실행가능한서버사이즈 최소데이타베이스파일사이즈 : 1MB 16
2.7 SolidDB 솔루션기능 : Load Balancing soliddb ODBC/JDBC drivers 로 load-balancing 기능지원 Application 애플리케이션은단일화된접속환경으로접속하여 Primary 와 Secondary 환경의데이터접근 쓰기트랜잭션은 Primary (active) 에서수행 읽기트랜잭션은 Primary (active), Hot Standby 모두가능 Active cache (primary) Cache soliddb Every transaction gets replicated in real time Hot standby cache (secondary) Cache 17
2.7 SolidDB 솔루션기능 : 복제 (replication) SolidDB간의 data는양뱡향, publish and subscribe 기능을통해복제를수행 자체프로세스를통해구현된기능이므로추가콤포넌트나프로세스를위한추가기반환경이필요없음 구현개념 Master와 replica databases 로구성 Publications and subscriptions 기능을통하여변경된데이터를전송 master 에서 replica 로 replica 에서 master 로의복제가가능 18
2.7 SolidDB 솔루션기능 : 개방적이고표준을준수하는인터페이스 ANSI SQL-92 Entry Level 지원및다양한 SQL-99 및 SQL-2003 특성지원 Applications ODBC 3.51 드라이버지원 ODBC JDBC C API Direct C-language 테이블접근 API 지원 JDBC 2.0 Type 4 Driver 지원 ( 100% Pure Java 인증 ) in-memory in-memory Database Database 엔진엔진 on-disk on-disk Database Database 엔진엔진 19
2.7 SolidDB 솔루션기능 : 편리한툴제공 Solid Console - 무료제공 ( 단유지보수는지원하지는않음. ) - JAVA 기반의 GUI 툴로 Query 및 Solid6 서버관리. - 데이타베이스쿼리및메타데이타수정및조회 - 서버모니터링및 Hot-Standby 구성. Solid Export - 고속의 Data Export Tool Solid SpeedLoader - Bulk data Load Tool 20
2.7 SolidDB 솔루션기능 : 파티셔닝을통한부하분산및성능향상 soliddb Cache pairs with load-balanced reads Application Cache Cache Cache Cache Customers 1-250,000 250,001-500,000 500,001-750,000 750,001-1,000,000 Customers table with 1,000,000 rows 21
2.8 SolidDB 솔루션기능요약 항목 질의기능 Solid6 특성 ANSI SQL-92 Entry Level 지원 / 다양한 SQL-99 및 SQL-2003 특성지원 자동질의최적화기 Embeded SQL 지원비용기반의최성능의쿼리옵티마이저사용성능 Transaction Durability 레벨을조정함으로써 Async Logging 을효율적으로활용가능. 구성가능한 Optimistic 및 pessimistic row-level locking 을이용항동시성제어가용성선택적, 양방향의복제기능을제공함으로써가용성제공. JDBC, ODBC Driver 지원트리거및 Stored Procedure, Stored Function 지원개발환경지원 Direct C-language 테이블접근 API 지원 GUI tool 제공자동 Roll-forward crash 복구기능제공. 관리기능 Transaction Integrity 보장 -ACID ( 원자성, 일관성, 독립성, 지속성 ) 를위한 Transaction isolation Level 지원 오프라인 / 온라인 backup 및 Restore 지원 Bulk data Load 및고속의 Data Export Tool 제공. 온라인백업, 상태 Report 및기타관리작업을운영하기위한 Built-In 스케줄러지원. 보안기능 사용자및 Role 특권을통한보안제어 22
2.9 지원가능플랫폼 (6.1) Linux: Red Hat Enterprise Linux (RHEL) 4 and 5 SUSE Linux Enterprise Server (SLES) 9 and 10 Microsoft Windows: 32-bit and 64-bit (x64) Windows Server 2003, Standard Server, Enterprise Server, and Datacenter Editions 32-bit and 64-bit (x64) Windows XP Professional Edition 32-bit and 64-bit (x64) Windows Vista Business, Enterprise, and Ultimate editions IBM AIX: AIX 5L V5.3 for 64-bit POWER5 and POWER6 systems HP-UX: HP-UX 11i v2 for HP 64-bit Integrity servers (Itanium-based systems) Sun Solaris: Solaris 10 for UltraSPARC and x86 servers 23
2.9 지원가능 DB2, IDS Versions (6.1) soliddb Cache for DB2 DB2 for Linux, Unix and Windows - Enterprise Server Edition 9.5 DB2 for Linux, Unix and Windows - Enterprise Server Edition 9.1 DB2 9 for z/os DB2 for z/os Version 8 soliddb Cache for IDS Informix Dynamic Server (IDS) 11.5 Enterprise Edition Informix Dynamic Server (IDS) 11.1 Enterprise Edition 24
Agenda 1 2 MMDBMS 동향 Solid Information 소개 3 활용사례 25
3.1 적용사례 : soliddb Managing 37 Million Subscribers in real-time Voice 관련서비스 ( 예 : Voicemail) MRS MRS SIP SIP Gateway RDBMS SIP SIP SolidDB 는어떤 MRS 가연결할것인지 SIP Module 에게알려줌. PROV Primary Server SolidDB UPS in City 1 MR MR Standby Server SolidDB HLR PROV : Provisioning MR : Media Resource MRS : Media Resource Server UPS : User Provisioning Server city 2 UPS UPS 2 city n UPS UPS n Routing: SIP redirection for services such as the voice mail system. User Provisioning: After receiving new subscriber information from the HLR, soliddb provisions subscriber information to appropriate SIP application server Number Portability: 37 million subscribers (in each city) SELECT 시 20 microsecond 소요 Transactions include 5-20 SQL operations each 24x7x365 operation with no database restart since more than two years ago Makes it possible for subscribers to move from a phone service provided over the PSTN to one provided over the IP network, without the subscriber changing the phone number of the mobile phone. 26
3.2 SolidDB 활용분야예시 Telecom Service Connect 공통적인고객의요구사항 End Users 99.999% 의가용성및즉각적인응답시간요구 Financial Services Trading 사용자인증 고객서비스검증 가용성체크 서비스공급 Billing 검증서비스인증서비스 1싸이클이 1초미만이여야함. OSS/BSS Applications Applications 수십개의커스터마이즈된 SQL 응용프로그램. 속도및응답시간이경쟁적인장점이됨. Trading Applications Database In-Memory Database Layer 확장성 Sub-second response time 가용성 Master Database* 트랜잭션데이타 고객데이타 * 기존의 RDBMS 는 Emerging Market 의고가용성및낮은 latency 에대한요구사항을 27 만족하지못함. Database
3.3 soliddb 솔루션활용 : e-commerce Applications 제품검색 장바구니, 쇼핑카트, 세션관리 안전결제 개인별목록 사용자후기, 인기순위, 블로그관리 연계상품정보 Microsecond 응답 Tens of thousands of transactions/second 작업관리, 모니터링, 튜닝 제품카탈로그관리 Cache 백업및복구 28
3.3 soliddb 솔루션활용 : Airline/Hospitality/Reservations 정기보고, 데이터아카이브 온라인예약 예약가능좌석, 룸 개인별로차별화한비행기티켓, 호텔룸 예약확인및취소 Cache DB2 or IDS : 사용자 주문내역 29
3.3 soliddb 솔루션활용 : Web 2.0/Collaboration Applications 정기보고, 데이터아카이브 연계웹애플리케이션 Cache 온라인세션상태 최근업로드, 개인화된페이지내역 ( 문서, 이미지, 동영상 ) 예정또는현재온라인회의및모임정보 현재투표및설문자료사용예 : Web collaboration applications, 온라인미팅 가상모임, 네트워크애플리케이션 DB2 or IDS stores: 데이터이력, 과거자료 30
3.3 soliddb 솔루션 (real-time) 활용 : Financial Services Applications Enterprise Service Bus/Message Queue 1. real-time 데이터변경추적 2. 이벤트 / 룰처리 3. 이벤트 / 정보메시지를다른애플리케이션에통보 Application Cache 금융정보서비스, 주식거래, 상장, 자산현황정보, 현물 / 선물시장, 외환정보 마켓시황및추세분석자료 의심및허위거래색출및위험관리 자동거래전략모의실험 주문 / 청산을위한의사결정정보 31
3.3 soliddb 솔루션 (real-time) 활용 : Online Betting Enterprise Service Bus/Message Queue 1. real-time 데이터변경추적 2. 이벤트 / 정보룰처리 3. 이벤트 / 정보메시지를다른애플리케이션에통보 Application Cache 실시간배팅내역추적 배팅결과및통계데이터 32
3.3 soliddb 솔루션활용 : 모바일폰 - 온라인과금, 선납서비스 Volume Discounts Mobile Switching Center Pre-Paid Cache Base Transceiver Station Base Station Controller Fraud Prevention 선납업무애플리케이션이 soliddb 를사용하여세션을활용한업무처리수행 : 가입자위치파악 ( 로밍, 국내또는국외위치, ) 가입된서비스내역확인 ( 음성통화, 콘텐트, 음성메일, SMS, emails, ) 가입자인증및권한관리 온라인과금을위한사용자요금내역관리 요금할인및부가서비스요금확인 DB2/IDS 를활용한야간배치작업 : 요금청구, 내역서출력및축적 Batch Billing 33
3.3 soliddb 솔루션활용 : Data Loading to Data Warehouses Source Data Source Data ETL Source Data Data Warehouse Cache DB2/IDS 데이터베이스에직접접근하여데이터를조회하지않고, ETL 프로세서가 soliddb Cache 를통해데이터를조회 사용결과 : ETL batch job 의속도가 8 시간에서 6 시간으로처리시간감소 34
35