160 likes | 301 Views
Managing the Extensible Informix Dynamic Server.2000 Database. 12/15/2000 제조통합자동화연구실 장양자. 목차. Extensibility in Dynamic Server Introduction to DataBlades. Dynamic Server. ORDBMS Extensibility Address complex and content-rich data: image, audio, video, text, multidimensional
E N D
Managing the Extensible Informix Dynamic Server.2000 Database 12/15/2000 제조통합자동화연구실 장양자
목차 • Extensibility in Dynamic Server • Introduction to DataBlades
Dynamic Server • ORDBMS • Extensibility • Address complex and content-rich data: image, audio, video, text, multidimensional • Give users the option of using DataBlade modules to access nontraditional data types • Highly scalable performance • Core parallel architecture • Optimized indexing technologies
Extensible Architecture Extensibility New Simple Data Types Complex Data Types User-Defined Types User-Defined Routines Smart-Large-Objects Type and Table Inheritance Functional and R-Tree Indexes User-Defined Access Methods DataBlade Manager DataBlade DataBlade DataBlade DataBlade
Extensible Tools • Database • Server API: • DataBlade API • User Defined • Routines • Client Tools: • SQL Editor • Schema Knowledge • DB-Access • Client APIs: • ESQL/C • JAVA Object Interface • CLI
Data Types DATA TYPES Extended Data Types New Built-in Types Boolean Int8 Serial8 Lvarchar User-Defined Complex Opaque Distinct Row Data Type Collection Named Unnamed Multiset Set List
Data Types • Built-in Data Types: • CHAR, VARCHAR, INTEGER, SMALLINT, FLOAT, SMALLFLOAT, DECIMAL, SERIAL, DATE/DATETIME/INTEVAL • Distinct • User-Defined Data Type • Simple, complex, opaque, distinct data type을 기본형으로 가지고, 이름으로 구별되는 data type • Inches-decimal-ounces • Type들간의 conversion rule을 정의하는 implicit casting function을 정의해서 사용한다.
Data Types • Complex data type은 다른 data type의 조합이다. • Row data type: C의 structure와 유사 • Unnamed row data type은 구조가 동일하면 같은 type으로 처리된다. • ROW(a int, b char (10))=ROW(x int, y char (10)) • Named row data type은 이름으로 정의된다. • CREATE ROW TYPE mytype_t(a int, b char(10)); • 정의가 Sysxtdtypes system catalog table에 저장된다. • Collections • Set: No duplicate allowed • List: an ordered set; duplicates allowed • Multiset: same as set except duplicated allowed
User Defined Routine Input parameters Routines Input parameters Procedures Functions Return values Internal External External Internal SPL C Java C Java SPL
Using User-Defined Routines • When creating a new data type you must provide: • SQL invoked functions • Support routines • Operator class functions • Casting functions • When extending functionality for simple data types • SQL invoked functions • Operator class functions • Casting functions
Opaque Data Type • C or Java structure • C or Java routines that allow the database server to support the data type
Opaque Data Type • Creating Opaque Data Types in C 1. Create the C data structure to represent the internal data structure 2. Write the support functions in C 3. Register the opaque data type with the CREATE OPAQUE TYPE statement 4. Register the support functions with the CREATE FUNCTION statement 5. Grant access to the opaque data type and support routines 6. Write any user-defined functions needed to support the opaque data type 7. Provide any customized secondary-access methods for creating indexes
Smart-Large-Object Data Types • New smart-large-object • blob: binary large object • clob: character large object (ASCII text) • Old simple-large-object • byte: binary large object • text-: ASCII text large object
DataBlade • Collection of database objects and code • Supports new data types • Supports a specific application • Support several DataBlades in a single application
DataBlade Module Components • Extended data types • Routines • Casts • Interfaces • Qualified data types • Tables and Indexes • Client code • Error codes and error messages
DBDK • BladeSmith: DataBlade 개발 환경 • DBDK Visual C++ Add-In and IfxQuery • BladePack: DataBlade InstallShield 개발 • BladeManager: DBMS에 DataBlade module 등록