[go: up one dir, main page]

WO2004077219A2 - Systeme et procede pour la mise en correspondance de schemas de donnees, l'optimisation de la lecture et de l'ecriture sur disque, et la verification de l'integrite de donnees entre clients et serveurs de differnet - Google Patents

Systeme et procede pour la mise en correspondance de schemas de donnees, l'optimisation de la lecture et de l'ecriture sur disque, et la verification de l'integrite de donnees entre clients et serveurs de differnet Download PDF

Info

Publication number
WO2004077219A2
WO2004077219A2 PCT/IN2004/000030 IN2004000030W WO2004077219A2 WO 2004077219 A2 WO2004077219 A2 WO 2004077219A2 IN 2004000030 W IN2004000030 W IN 2004000030W WO 2004077219 A2 WO2004077219 A2 WO 2004077219A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
data pattern
recited
file
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IN2004/000030
Other languages
English (en)
Other versions
WO2004077219A3 (fr
Inventor
Vinayak K. Rao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vaman Technologies (r & D) Ltd
Original Assignee
Vaman Technologies (r & D) Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vaman Technologies (r & D) Ltd filed Critical Vaman Technologies (r & D) Ltd
Publication of WO2004077219A2 publication Critical patent/WO2004077219A2/fr
Publication of WO2004077219A3 publication Critical patent/WO2004077219A3/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • a server typically shares hardware resources and persistent data generated by the server across clients, maintaining data integrity and state across concurrent users sharing this persistent data.
  • the pattern of this persistent data used or generated by the server is purely as per the server functional scope.
  • database servers generate data in a table column format, web servers in an Operating System (OS) native file directory structure and mail servers in their own proprietary format.
  • OS Operating System
  • bitmap is graphical data popularly generated by any painting software like Microsoft paintbrush
  • various derivates of persistent data format for the same image data like Graphics Interchange Format (GIF) or TGA or Joint Photographic Experts Group (JPG) etc.
  • GIF Graphics Interchange Format
  • JPG Joint Photographic Experts Group
  • the digital image data remains the same but archiving patterns vary that is the preamble or post amble data pattern and compression technologies meant for fastest saving and retrieval vary.
  • time and space that is when disk space required to save data is to be minimized time is lost in uncompressing and compressing data.
  • time is to be saved, there is wastage of space for saving these uncompressed data.
  • Databases are an important tool for the storage and management of information for businesses. Both relational database management systems (RDBMS) and non-relational database management systems exist for this purpose. Examples of RDBMS' include ORACLE, DB2, and INFORMIX. Examples of nonrelational databases include custom databases created with the operating system, developed by IBM. The operating system allows programmers to created custom databases, which support keyed, sequential, and binary file types. Database Management Systems (DBMS) provide users the capabilities of controlling read/write access, specifying report generation, and analyzing usage.
  • RDBMS relational database management systems
  • non-relational databases include custom databases created with the operating system, developed by IBM. The operating system allows programmers to created custom databases, which support keyed, sequential, and binary file types.
  • Database Management Systems provide users the capabilities of controlling read/write access, specifying report generation, and analyzing usage.
  • DBMS Prior to the arrival of RDBMS, DBMS existed on various Operating Systems (OS), which used to maintain data in files (knows as file system) with tree structures supporting different directories and sub directories. These OS file systems evolved with different vendors, with each vendor supporting different features and access mechanisms to enhance disk operations. As a result of these multiple approaches by different Vendors, popular File Systems like NTFS for Windows, File Allocation Table (FAT) for DOS, FAT32 for Windows 9x, NDS for Netware, HPFS for OS2 developed. However, there existed a similarity between the ways in which they maintained the root directory entries and locations in the hard disk, known as the File Allocation Tables. The hard disk was divided into cylinders/tracks/sectors/heads and combination of sectors formed clusters.
  • OS Operating Systems
  • ODBC ODBC
  • 'SQL Data Types' any form of these types in application specific combinations formed data.
  • Outlook express has its own proprietary file format (.mbx, .pst), which is the persistent part of its data capturing mechanism.
  • the same data can be classified as table and column entities from a database perspective and a table with columns capturing "To:, From:, CC:, BCC:, etc can be archived as a generic database rather than a specific and inaccessible one because only Outlook Express can read write this data.
  • the criteria's, which can affect this search, are factors such as the volume of data, resource availability. (Hard disk type IDE, SCSI, speed of the device, and default caching supported), the value of data for that specific pattern, (unbalanced tree - sorted) .associated arithmetic and logical operations required by the application using it, which may dictate the search and archival patterns for performance benefits and security, data integrity and audit policies associated with this type of data, (encryption / compression)
  • mapping patterns of data irrespective of the server protocols and data formats in which requests are received in a relational database management system.
  • all known techniques have additional drawbacks such as they do not provide security features, it difficult to conceal information in directories in case of a directory or file being shared between users, OS specific different processes managing communication across different processes, the OS cannot tracks or take user specific backups unless allocated a separate disk partitions or directories and different patterns of data for maintenance purposes and functionality, require different types of servers to handle different protocols and data patterns / formats.
  • the present invention provides a software-implemented process, system and method for use in a computing environment, whereby a multiplicity of data patterns are mapped, irrespective of the server protocols and data formats in which requests are received in a RDBMS.
  • the present invention maps file systems as table structures, with each of its elements as columns of the table. The entire file content is saved as a blob record rather than managing the file in series of clusters.
  • the present invention provides very high security, as all features of a database can be applied user schema wise. Each user is isolated from the other and entire directory info can be concealed which is highly impossible in an operating system. Further, every action on every file access is through an internal object query and for each of these actions, triggers can be programmed to give interactivity, which is not possible in an OS file system.
  • FTP / HTTP server requests / commands are translated into internal queries to the database and results are given as expected by the client.
  • any FTP client or a web browser is not even aware that they are serviced by a DB rather than a FTP / HTTP server.
  • the present invention translates every user as a DB user entity as per schema space allocated for his inbox / outbox and maps it as table with to, from, cc, bcc, subject, body attachments as columns of the table.
  • the present invention can manage all rules for concurrency and disk caching which are currently managed by OS processes like smartdrive or findfast is taken care by features of DB itself rather than OS specific different processes managing communication across different processes.
  • the present invention centralizes the different patterns of data for maintenance purposes and functionality, which normally requires different types of servers to handle different protocols and data patterns / formats.
  • the present invention centralizes these patterns based on usage frequency / changes expected / expected retrieval time / security constraints into table / column - data type formats supporting these features. Further, it provides for management of all data types along with features of security, with a view to optimizing disk space requirement and minimizing retrieval time, while considering possibilities of updation of data for various data types.
  • the present invention manages the read & write features of an RDBMS and also handles the log file & database writer.
  • the log file is a part of recovery management process in order to recover data in case of any abnormal shutdown or other system failure occurs while database writer is used to persist committed data blocks.
  • FSM Finite State Machine
  • Fig. 1 is a block diagram illustrating the interaction of components of the pattern analyzer with the disk optimizer of the current invention.
  • Fig .2 is block diagram illustrating the mechanism of storage of persistent data in the preferred embodiment of the current invention.
  • Fig. 3 illustrates the file types such as LOG file, Database files, SWAP file, Roll Back Segment in which persistent data exists.
  • Fig.4 is a block diagram of the disk Agent and how it is used to write to database files.
  • Fig. 5 is a flow diagram illustrating the preferred embodiment of the current invention.
  • Fig. 6 is a block diagram illustrates the interaction of the Disk Agent of the current invention with various other agents.
  • the disk resource is used commonly by any functional server, but the pattern of disk usage varies because of type of data, size of data, frequency of disk accessing request, nature of disk accessing requests etc... Since any multi user functional server, which is using disk resource finally accesses some files we derive patterns of functionalities and map patterns of data to arrive at a common event based functional feature in a resource agent disk which can encapsulate and deliver any disk resource functionality demanded by any multi user server. This guarantees data exchange between functional servers since the proposed agent always persists data, in accepted compatible standards (ex: ODBC).
  • FIG 1. Illustrates the working of the pattern analyzer.
  • the pattern analyzer is made up of a functional pattern analyzer 115, data pattern analyzer 120, functional resource pattern heuristics 100, data resource pattern heuristics 105.
  • the functional resource pattern heuristics 100 and data resource pattern heuristics 105 form a part of the Lookup table 110.
  • the components mentioned are interfaced with an optimizer, which segregates operations based on type of operation to be performed on type of data. We always assume that the final base object is a file whenever data is persisted.
  • the modes of usage and sequence varies based on the state in which persistence is required i.e. we generally categorize and data state entity into three parts:
  • Pre result - transitionary persistent required before final result is derived This may be required when temporary buffers, which are used to derive the final result, exceed RAM availability and need a swap from primary to secondary storage. This may also be the state of data in between beginning of transaction and final commit or rollback (generally RBS or SWAP)
  • Final persistence This is the state of final data when actual database file is updated upon successful commit to intermediate files like log or archive logs.
  • the pattern and size of data persisted can be broadly classified into static and dynamic.
  • the static patterns of data can be various headers - database, extent, block, tuple, etc. which are database design entities and are part of metadata or meta-transactions.
  • the dynamic data is generally the data resulting from DML operation on user objects other than the metadata tables. These patterns are applications design specific and are variable in size based on amount of data in each record inserted, updated or deleted by the user.
  • the general functional pattern classification or any file operation is open, close, read, write, seek and flush. It does not matter whether the datafile is a LOG file, Database file or a Swap file. These operations being universal the patterns of data and sequence of operations generally dictate the flow of events the Disk agent has to follow.
  • Cursor operations dictate the pattern of read / write and associated operations.
  • isolation of various states of data from the beginning of the transaction till the data has been committed needs to be maintained and optimized as per atomicity, consistency, isolation and durability ('ACID') properties.
  • the transactional isolation is managed through the roll back segment ('RBS') of each client sessional instance.
  • the disk optimizer uses a SWAP and RBS combination to achieve this objective.
  • the deferring of concurrent write operations typically an INSERT operation
  • INSERT operation concurrent write operations
  • Regular flushing of data (i.e. dirty blocks) of LOG or Database file is enforced, either time based (checkpointing) or priority based (flushing) to maintain the best state of data integrity of committed transactions.
  • the flushing logic is derived based on analytical heuristics of object usage across concurrent sessions and operations performed on them. These may include size of data, number of Tuples in a transaction, size of the transaction, source of data (local or distributed), replenishment of resource required, age of the dirtied block of data in cache etc.
  • static or dynamic data care is taken to see that there is a minimum seek of offset traversal so as to achieve the fastest disk read and write time while not imposing a burden on the server with over use of its kernel resources.
  • a database' 200 which is logically divided into segments, which consist of a group of contiguous blocks.
  • the user determines the segment size and extent size at the time of database object creation.
  • This extent is also a logical data block size. It is invoked only when auto size expansion is found true and it automatically allocates the extra block for that object.
  • data stored into the logical blocks corresponds to a specific number of bytes of physical database space on the disk as shown in the figure.
  • An extent 205 consists of blocks 202, 203, 204, 205, 206, 207.
  • a block 202 further consists of a block header 208, and Tuples 210, 211 , 212.
  • the Block header 208 contains transaction information 209 such as Session ID, Number of Tuples, Save Point Level, Rollback Segment block ID.
  • a block header 208 also includes Page Index 213
  • a Tuple 212 further consists of a Tuple Header 214 and Tuple Buffer 215.
  • a Tuple Header 214 contains the information such as block id, block attributes, number of records stored in the block, next block, next free block etc.,
  • the Tuple Header 212 allows insertion of new records only when there is 60% of free block space found in the Tuple Buffer 215; otherwise it automatically transfers the data into the next free block.
  • the header information be it Block header 208 or Tuple header 214 it is always classified as static data whereas the Tuple buffer 215 is classified as dynamic data.
  • Each Tuple buffer 215 comprises of columns of data, each of similar or dissimilar data types or data patterns.
  • All static patterns are related to disk management operations. They contain information for the utilization of disk resource with optimum operations under various read / write operation workloads.
  • the static data is designed to contain information for recovering from media failures or corruption of dynamic data. This facilitates the recovery of such corrupted data by analyzing data patterns that are contiguous. Periodic checksums or cyclic redundancy checks are carried out using information contained within the static data to maintain data integrity.
  • Fig 3 illustrates the file types that are created when a new database file is opened.
  • the transaction can be in two states, either one in which the data is persistent (committed data) or transitory (uncommitted data). Further the data is in a transitory state in case of a uncommit type of transaction for example SELECT in a database.
  • a commit type of transaction the data is in persistence state.
  • persistence state When one persists the data for example INSERT or UPDATE or DELETE for a database care needs to be taken to correct or perfect the persistence. Hence one can write to disk irrespective of concurrent request for various clients and irrespective of server functionality.
  • a log file is always created 300.
  • the sequential Reads or Writes are appended to the LOG file.
  • the LOG Writer writes to the log file.
  • the current state such as transactions records of a file can be maintained even in case of power failure. This transaction committed LOG file is useful for recovery.
  • a Database (DB) writer writes at random Read or Write to DB files.
  • the DB file consists of Final Persistence data 305.
  • the SWAP file is continuously Read and Written 310. That means the SWAP file is a non-transactional file. This file is temporary and according to all transactions holds provisional data. This file is independent of transactions.
  • a Roll back Segment 315 depends on transaction and holds transitory data. It maintains the Transactional log and hence aids in recovery.
  • the random Read or Write (the transaction) is recorded 316.
  • the data is either committed or uncommitted. If the data is committed then a non-sessional LOG is prepared 317. Finally a final persistence is created when the file is saved for example as xyz.dbf 318.
  • Fig. 4 is a block diagram of Disk Agent 426 consisting of Pattern Translator 400, Recovery Manager 401 , Resource Manager 402, Error Handler 403, Disk Optimizer/Operation Manager 404, Memory Map File 405, Database (DB) Reader 406, DB Writer 407, LOG Writer 408, Log Reader 425, Disk I/O 427 Roll back Segment or Swap 409.
  • the Memory Map File 405 consists of Read Cache 410, Write or Dirty Cache 411; Roll back Segment or Swap Cache 412 and Memory Map Cache 413.
  • Also shown in the figure are two databases namely DB1 414 and DB2 415. Further each of these databases have their own database files 416, 419, Active Log files 417, 420 and an Swap or Rollback Segment files 418, 421 and some common files such as Control files 422, configuration files 423 and dat files 424.
  • the present invention is a Disk Agent 426, which primarily archives data from any server in formats of SQL types like Tables and records.
  • the Disk Agent is responsible for caching, concurrency, locking and managing data integrity across sessions accessing and modifying data simultaneously and finally recovery in case of media failure.
  • the final database file (DBF) has committed entries saved in a LOG file prior to final commit in database.
  • the Disk Agent 426 of the preferred embodiment of the present invention is a multithreaded agent and each thread is designed for a specific object and operation to work and translate these patterns of data as per operation.
  • the Disk Agent 426 can support 255 databases each having 255 data files of size extending up to 64 bits. As the size of data file increases the amount of seek and traversal increases. To support a fast seek operation the agent has an option to open multiple handles for the same data file which can operate between a set of offsets dictated by the control files and the configuration settings as shown in the figure as .cfg files.
  • the Disk Agent 426 has three threads, namely, a DB Reader Thread 406, DB Writer Thread 407, LOG Writer Thread 408, LOG Reader Thread 425 and Roll back Segment or Swap Thread 409 to perform specific functionality.
  • the preferred embodiment of the present invention takes care of recovery in case of media failure.
  • the final database file (DBF) has committed entries saved in a LOG file prior to final commit in database and any transactional but uncommitted data managed in session wise rollback segments.
  • the application may require temporary storage for transitional phases, which is managed in a central SWAP independent of sessions or transactions.
  • the Pattern Translator 400 is based on the type of operation, nature of request and pattern of data types to be persisted and creates certain metadata for pre amble or post amble which comprise of static data.
  • the pattern translator is an intelligent functional and data pattern engine, which associates a pattern of data and set of functionalities under various utility conditions. These conditions may be query specific object specific, operation or transaction specific the correlation of dependencies of which is determined at run time based on various parameters such as static of dynamic pattern of data, size of data pattern, frequency and type of usage, change in state of the same data pattern and set of associated operations required (e.g. for fault tolerance, data integrity, concurrency workload).
  • the query operation and conditions in the query along with transactional integrity associated with the query dictate the sequencing of functional patterns on the data generated as a result of the query execution.
  • the disk agent provides these as a standard set of generic event features, which can be used by any application requiring disk as a resource.
  • the set of disk resource functionality is governed and dictated as a set of generic patterns such as Data Pattern and Functional Pattern.
  • Functional Pattern comprises of a set of generic functional modules sequenced to deliver desired functionality such as managing optimum journaling of data so as to recover and rebuild data from any abnormal termination. This involves maintaining data at various state entities such as RBS file, Log file and the final DB file.
  • Another module is responsible for managing the functional data pattern entities, which clear and archive logs, terminate or truncate logs, manage overflows and underflows without much user intervention.
  • Another module is responsible for managing the user interface data pattern which is equipped with a language support or command set API's or other messaging events which can interact or communicate and expose various functionalities for developers and end-users irrespective of vendor hardware or operating system in a uniform and simple manner.
  • Recovery Manager 401 thread Only in case of an abnormal shutdown or data corruption the Recovery Manager 401 thread is evoked. This happens only when during the database instance startup the integrity check on the database and its supporting synchronization files fails. A recovery process is triggered which analyses every smallest tuple in a transaction and commits or rollbacks data between the database file and log file so as to guarantee transactional integrity.
  • the Recovery Manager 401 is also responsible for generating a status log of instance recovery or for applying incremental changes from the log file between specified periods for any previously backup database file.
  • the Resource Manager 402 allocates resources as per the requirements. It takes care and manages the different shared resources.
  • the Error Handler 403 carries out the error handling function and reporting mechanism according to the nature and type of errors
  • the Disk Optimizer/ Operation Manager 404 analyzes the type of requests and optimizes the block request across sessions and nature of operations such as reads or writes so as to merge and manage input and output and corresponding resource allocation for these operations, which can be shared. Based on the result of request analysis the operation manager schedules the other read or write threads. If current volume of data to be flushed to the database file, which does not justify the write process overheads, the operation manager may even ignore it till a minimum critical threshold level is reached to justify database write cost. Such lazy or differed write may be forced committed by check pointing process.
  • the Optimizer module tries to optimize input output by analyzing the current pending requests for read or write across sessions, transactions or databases.
  • the Memory Map File 405. consists of Read Cache 410, Write or Dirty Cache 411, Roll Back Segment/Swap Cache 412 and Memory Map Cache 413 which all aid the process of caching. Hence disk space can be mapped and used as memory. Depending upon usage these different caches can be clubbed and used as mapped memory along with RAM.
  • the DB Reader (DBRD) 406 threads perform only read operation on the database file as specified by the database index in the request.
  • the translation of disk block data to a page data and corresponding caching of these disk blocks is managed by the DBRD thread.
  • the DB Writer (DBWR) 407 thread performs only write operation on the database files for blocks, which are marked dirty and acknowledged by successful write in LOG file.
  • the translation of page data into database blocks is managed by the DBWR thread.
  • Log writing is generally a sequential append write request managed by Log Writer (LOGWR) 408 thread.
  • LOGWR Log Writer
  • the log data may have to save various states of nested committed transactional data and their prior states in case of conditional or partial rollbacks.
  • LOGWR 408 guarantees immediate flushing of committed data taking care of Log size restrictions and switching over to an active new log file in case of size overflows.
  • FIG. 5 is a flow diagram of the Disk Agent 426.
  • the Operation Manager 404 classifies the request 501.
  • the isolation of the Database 502 is done with, respect to the even parameters and the active database index for the operation.
  • the Disk Agent 426 proceeds to isolate the operand 503.
  • the isolation of the operand depending on the nature of the request, it is passed to the LOG 504, Database 505, SWAP 506 or Roll back Segment (RBS) 507.
  • the Disk Agent 426 then proceeds to isolate the request with respect to current position and handle 508. After the isolation of the request with respect to current position and handle, the isolation of the offset is carried out 509.
  • the Disk Agent 426 After isolating the offset, the Disk Agent 426 then proceeds to isolate the operation and associate thread 510. Based on this isolation, the request is passed to DBRD 406 / DBWR 407/ Log Writer 408 / Log Reader 425 and Roll back Segment/Swap 409 threads for optimization 511. The pattern association of these outputs of respective thread is then carried out 512. After the process of pattern association, the translation of these patterns is carried out 513. The Disk Agent 526 then proceeds to check if there is a read 514. In the event of no read request, then the Disk Agent 426 proceeds to Page Patterns to a persistent state 515. In the event of successful read, the Disk Agent 426 proceeds block to Pattern Page 516. The Disk Agent 426 then proceeds to insert data in the associate cache 51 .
  • Fig 6 shows the interaction of the Disk Agent 426 with various other agents.
  • the Disk Agent 426 three threads have been considered, namely, the Log WR thread 408, the DBWR 407 and the Disk I/O 427.
  • the LogWR 408 and LogRD 425 threads are used in case of recovery. Whenever any file is opened a transaction record is always made in the LogWR 408 file. The LogRD 425 is rarely used; it's useful in case of file recovery. As mentioned earlier the LogWR 408 is transaction-committed file. This is done to maintain data integrity irrespective of sessions, which are working on th ⁇ same data. Further as shown in the figure the interaction of the Scheduler Agent with the Disk Agent 426, the combination takes care of the concurrent queries, caching, locking and managing irrespective of the number and nature of clients and across server functionality having shared resources.
  • the DBWR 407 thread is activated only in case of a database file. Every database write is first made to RAM of the computer system. Block is translated to page and page is block of data written to memory. The DBWR 407 writes to a database file in case of a database Read or database Write. LogWR 408 has higher priority. As soon as commit is given everything is written to disk. The DBWR 407 is a lazy writer that is it delays the write to the disk.
  • the Timer Agent 600 checks these two conditions, this Timer Agent 600 can be customized as per the configuration settings and it forces synchronicity.
  • Checkpointing can be synchronous or asynchronous type. Check pointing is a process by which Timer Agent 600 forces all the uncommit data to the disk.
  • One of the uniqueness of the current invention is we don't have a separate checking thread it is merged with the Disk Agent 426 and the Timer Agent 600 forces for synchronicity. Further the Timer Agent 600 is customizable and hence synchronous and asynchronous check pointing is handled.
  • the Disk Agent 426 along with the Server Agent 601 , DML Agent 602, Index Agent 603 works to manage every disk read and write activity.
  • the Disk Agent 426 talks to the database and according to the type of query, the Disk Agent 426 either gives the query to the DML Agent 602 in case of a DML query or to Server Agent 601 in case of DDL or DCL commands. According to the active database it can also be given to the Index Agent. Also the DML Agent as well as Server Agent 601 can check for Index Agent 603.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne en règle générale un système et un procédé pour la mise en correspondance de schémas de données persistantes dans un format indépendant de la fonctionnalité des applications, de sorte que les données archivées permettent l'accessibilité, l'échange et le partage de données entre applications multi-utilisateurs, indépendamment de la fonctionnalité, sans processus externe d'importation ou d'exportation dans un format commun compris par les applications en partage.
PCT/IN2004/000030 2003-01-30 2004-01-29 Systeme et procede pour la mise en correspondance de schemas de donnees, l'optimisation de la lecture et de l'ecriture sur disque, et la verification de l'integrite de donnees entre clients et serveurs de differnet Ceased WO2004077219A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN125MU2003 2003-01-30
IN125/MUM/2003 2003-01-30

Publications (2)

Publication Number Publication Date
WO2004077219A2 true WO2004077219A2 (fr) 2004-09-10
WO2004077219A3 WO2004077219A3 (fr) 2005-05-19

Family

ID=32922939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IN2004/000030 Ceased WO2004077219A2 (fr) 2003-01-30 2004-01-29 Systeme et procede pour la mise en correspondance de schemas de donnees, l'optimisation de la lecture et de l'ecriture sur disque, et la verification de l'integrite de donnees entre clients et serveurs de differnet

Country Status (1)

Country Link
WO (1) WO2004077219A2 (fr)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536428B2 (en) * 2006-06-23 2009-05-19 Microsoft Corporation Concurrent read and write access to a linked list where write process updates the linked list by swapping updated version of the linked list with internal list
WO2012082792A2 (fr) 2010-12-13 2012-06-21 Fusion-Io, Inc. Appareil, système et procédé destinés à une mémoire à validation automatique
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9767017B2 (en) 2010-12-13 2017-09-19 Sandisk Technologies Llc Memory device with volatile and non-volatile media
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US11573909B2 (en) 2006-12-06 2023-02-07 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2476039B1 (fr) 2009-09-09 2016-10-26 SanDisk Technologies LLC Appareil, système et procédé pour gérer la réduction d'énergie dans une mémoire de stockage

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11219286A (ja) * 1998-02-02 1999-08-10 Meidensha Corp マシン環境の構築方法
JPH11331161A (ja) * 1998-05-08 1999-11-30 Cai Kk ネットワーク保守管理システム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536428B2 (en) * 2006-06-23 2009-05-19 Microsoft Corporation Concurrent read and write access to a linked list where write process updates the linked list by swapping updated version of the linked list with internal list
US11960412B2 (en) 2006-12-06 2024-04-16 Unification Technologies Llc Systems and methods for identifying storage resources that are not in use
US11847066B2 (en) 2006-12-06 2023-12-19 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
US11640359B2 (en) 2006-12-06 2023-05-02 Unification Technologies Llc Systems and methods for identifying storage resources that are not in use
US11573909B2 (en) 2006-12-06 2023-02-07 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
CN103262054B (zh) * 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
US9767017B2 (en) 2010-12-13 2017-09-19 Sandisk Technologies Llc Memory device with volatile and non-volatile media
US9772938B2 (en) 2010-12-13 2017-09-26 Sandisk Technologies Llc Auto-commit memory metadata and resetting the metadata by writing to special address in free space of page storing the metadata
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
EP2652623A4 (fr) * 2010-12-13 2014-04-30 Fusion Io Inc Appareil, système et procédé destinés à une mémoire à validation automatique
CN103262054A (zh) * 2010-12-13 2013-08-21 弗森-艾奥公司 用于自动提交存储器的装置、系统和方法
WO2012082792A2 (fr) 2010-12-13 2012-06-21 Fusion-Io, Inc. Appareil, système et procédé destinés à une mémoire à validation automatique

Also Published As

Publication number Publication date
WO2004077219A3 (fr) 2005-05-19

Similar Documents

Publication Publication Date Title
Matsunobu et al. MyRocks: LSM-tree database storage engine serving Facebook's social graph
US10437721B2 (en) Efficient garbage collection for a log-structured data store
US10042910B2 (en) Database table re-partitioning using two active partition specifications
US10942814B2 (en) Method for discovering database backups for a centralized backup system
US9146934B2 (en) Reduced disk space standby
Stonebraker The design of the Postgres storage system
CN111352925B (zh) 策略驱动的数据放置和信息生命周期管理
US7840539B2 (en) Method and system for building a database from backup data images
US20180046552A1 (en) Variable data replication for storage implementing data backup
Flouris et al. Clotho: Transparent Data Versioning at the Block I/O Level.
EP2590078B1 (fr) Répertoire de segment de journal à base de pages dupliquées
KR20200056357A (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
US12277138B2 (en) Hybrid transactional and analytical processing architecture for optimization of real-time analytical querying
US11615083B1 (en) Storage level parallel query processing
US12007983B2 (en) Optimization of application of transactional information for a hybrid transactional and analytical processing architecture
WO2023159976A1 (fr) Procédé d'écriture segmentée de données, procédé de lecture de données et appareil
WO2004077219A2 (fr) Systeme et procede pour la mise en correspondance de schemas de donnees, l'optimisation de la lecture et de l'ecriture sur disque, et la verification de l'integrite de donnees entre clients et serveurs de differnet
US12093239B2 (en) Handshake protocol for efficient exchange of transactional information for a hybrid transactional and analytical processing architecture
US20040059706A1 (en) System and method for providing concurrent usage and replacement of non-native language codes
CN114328546B (zh) 一种数据库管理系统的时间戳模式确定方法及装置
WO2004077216A2 (fr) Systeme et procede servant a effectuer une migration de donnees heterogenes en temps reel
Richardson Disambiguating databases
US12436709B1 (en) Persistent object storage with sequential updates
US11789951B2 (en) Storage of data structures
Darmawan et al. Database Performance Tuning on AIX

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase