WO2013141308A1 - 分散ストレージシステム、ストレージ制御方法およびプログラム - Google Patents
分散ストレージシステム、ストレージ制御方法およびプログラム Download PDFInfo
- Publication number
- WO2013141308A1 WO2013141308A1 PCT/JP2013/058111 JP2013058111W WO2013141308A1 WO 2013141308 A1 WO2013141308 A1 WO 2013141308A1 JP 2013058111 W JP2013058111 W JP 2013058111W WO 2013141308 A1 WO2013141308 A1 WO 2013141308A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- update
- data
- unit
- update information
- data storage
- Prior art date
Links
- 238000003860 storage Methods 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 title claims description 60
- 238000013500 data storage Methods 0.000 claims abstract description 138
- 230000008859 change Effects 0.000 claims abstract description 89
- 238000012544 monitoring process Methods 0.000 claims abstract description 38
- 239000000284 extract Substances 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 description 29
- 230000015654 memory Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 238000007405 data analysis Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012731 temporal analysis Methods 0.000 description 2
- 238000000700 time series analysis Methods 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 210000000609 ganglia Anatomy 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Definitions
- the present invention is based on a Japanese patent application: Japanese Patent Application No. 2012-065190 (filed on March 22, 2012), and the entire contents of this application are incorporated in the present specification by reference.
- the present invention relates to a distributed storage system, a storage control method, and a program, and more particularly, to a distributed storage system that holds replicas with different data structures, and a storage control method and program for controlling monitoring, adjustment, and the like of dynamic performance parameters.
- a distributed storage technology is known in which a large number of computers are connected via a network, and data is stored and used using the HDD (Hard Disk Drive) or memory of each computer.
- HDD Hard Disk Drive
- data is allocated to which computer, and which computer processes the data is determined by software or special hardware.
- the resource usage in the system is adjusted, and the performance provided to the client computer is improved.
- Stored data is accessed in semantic units. For example, in a relational database, data is written in units called records or tuples. In the file system, data is written as a set of blocks. Furthermore, in the key-value store (Key-Value Store), data is written as an object. The data written in this way is read by the client computer for each unit.
- semantic units For example, in a relational database, data is written in units called records or tuples. In the file system, data is written as a set of blocks. Furthermore, in the key-value store (Key-Value Store), data is written as an object. The data written in this way is read by the client computer for each unit.
- a unique number called an address is assigned to a space for storing data.
- access to an area where addresses are adjacent is processed at high speed. Therefore, it is necessary to arrange data in the address space so that records and blocks are accessed with continuous addresses as much as possible.
- the data structure of the stored data is important.
- the data structure refers to a format when a collection of data is arranged in an address space.
- a unit called a page in which a plurality of records are collected is written on a buffer on a memory or a disk.
- a page is fixed-length data in units that can be accessed at high speed by a disk or memory. This is because in online transaction processing, updating, insertion, and writing are performed in units of records.
- each record is broken down into units called columns or attributes, and the same attribute of each record is continuously stored in the address space. Deploy. This is because data analysis processing is often used for each attribute unit.
- a column-oriented database when there are many records having the same value for a certain attribute, these records can be compressed and combined into one data, and the data storage efficiency is good.
- Non-Patent Document 1 describes the data structures of a row-oriented database and a column-oriented database.
- duplicate data of the same data may be stored in a plurality of computers. This is to provide stored data to the client computer even when a certain computer fails and the data storage device becomes inaccessible.
- the storage device is a volatile memory such as DRAM (Dynamic Random Access Memory), it may be caused by a power failure, software failure, etc. compared to a magnetic device such as HDD or a non-volatile memory such as SSD (Solid State Drive). Since there is a high probability that the data of the computer will be lost, three or more replicated data may be stored in different computers.
- DRAM Dynamic Random Access Memory
- a technique in which a plurality of replicated data is stored in different data structures, and a replica suitable for each access is provided as an access destination for different types of access.
- the data node to be updated converts the data to be updated into a specified target data structure, and stores the data.
- the data node temporarily stores the data to be updated, holds the intermediate structure and returns a response to the update, and converts the data to the target data structure and stores it asynchronously with the update request.
- the distributed storage described in Patent Document 2 includes a data storage unit and a plurality of data nodes that are connected to the network.
- the target data is temporarily stored in the intermediate structure for holding the write data, asynchronously with the update request, converted into the target data structure and stored in the data storage unit, and the history of the frequency of access to the data node is stored.
- An access history recording unit for storing is provided, and means for changing trigger information that triggers conversion to a target data structure asynchronously performed at the data node based on the access information recorded in the access history recording unit.
- the replica for fault tolerance needs to be updated synchronously. That is, it is necessary to notify the client computer of the end of the update at the stage when both the copies have been updated.
- one data structure may not be suitable for accessing a small number of data units as compared to the other data structure. For example, when one is updating data on the HDD and the other is updating data on the memory, the client computer does not receive an update completion notification until the later data structure is updated. Therefore, the user of the client computer feels that the system performance has deteriorated.
- Non-Patent Document 2 update information to a database is applied to a copy on a memory, and written on a permanent device such as an HDD by WAL (Write Ahead Logging). Thereafter, the contents of WAL are updated to the master database on the HDD.
- WAL Write Ahead Logging
- the data structure with the fast update is the data structure of the row-oriented storage format on the memory
- the data structure with the slow update is the data structure of the column-oriented storage format on the memory, it is updated to the previous stage of the column-oriented storage format.
- update information holding unit By inserting a FIFO (First-In First-Out) structure on the memory that holds the information, the update end can be returned to the client computer at high speed.
- the component that temporarily holds the update information for the data store (or data storage unit) in this manner is hereinafter referred to as an “update information holding unit”.
- Non-Patent Document 3 the CPU (Central Processing Unit) usage rate and network packet transmission amount per unit time of a plurality of computers on the network are displayed on a Web screen.
- CPU Central Processing Unit
- a distributed storage system holds a replica with the first data structure and the second data structure.
- the second data structure requires time for a small amount of update, it is assumed that the second data structure is updated asynchronously using the update information holding unit.
- the access for the first data structure is processed by duplication of the first data structure. For example, when the first data structure is a buffer on the memory or a row-oriented storage format, read access in units of records is read / written from the first data structure.
- the access for the second data structure is preferably processed by duplication of the second data structure.
- the second data structure is a row-oriented storage format on the HDD or a column-oriented storage format on the memory, access that requires only a specific attribute of the record, or all stored data in order Access as needed is read from a duplicate of the second data structure.
- the distributed storage system When using the second data structure and there is update information in the update information holding unit, the latest information cannot be used for accessing the second data structure. Therefore, when an access to the second data structure occurs, the distributed storage system first holds the update information in the update information holding unit associated with the duplication of the second data structure. In this order, the second data structure is applied to the second data structure, and the second data structure is the latest data. Thereafter, the access for the second data structure is processed with the second data structure that is the latest data, and the result is returned to the client computer.
- the time required for access is the sum of the time required to apply the accumulated update information to the second data structure and the time required to access the second data structure.
- the access time becomes longer when the amount of update information is large.
- the amount of update information stored in the update information holding unit is finite, there is a possibility that the update information in the update information holding unit overflows when the frequency of issuing access for the second data structure is low.
- an update condition is provided as a condition for discharging the update information.
- the update condition for example, a case where the total data amount of the update information becomes a constant amount can be considered. Further, as another update condition, a case where the number of updates of update information becomes a fixed number is considered. Furthermore, as another update condition, a case where a predetermined time has elapsed since the last update information application can be considered.
- the access performance of the update information is low because the second data structure has poor access performance for a small amount of updates. If it is high, more resources of the computer that holds the duplicate of the second data structure are consumed. Also, the performance deteriorates when a copy of the first data structure exists on the same computer or when the same computer is used for other purposes.
- An object of the present invention is to provide a distributed storage system, a storage control method, and a program that solve such problems.
- the distributed storage system is: A first data storage that holds data in a first data structure; A second data storage unit for holding the data in a second data structure different from the first data structure; The update information representing the update content of the data is held, and when a predetermined update condition is satisfied, the update information is applied to the second data storage unit, and the update content is stored in the second data storage.
- An update information holding unit to be reflected in the copy An update status monitoring unit that monitors the update information held by the update information holding unit and extracts an application state of the update information to the second data storage unit as an update status; An update condition changing unit that changes the predetermined update condition based on a change instruction for the predetermined update condition determined according to the update status.
- the storage control method is: A first data storage for holding data in a first data structure; a second data storage for holding data in a second data structure different from the first data structure; and updating the data
- a storage control method for controlling a distributed storage system comprising: an update information holding unit that holds update information representing content; When a predetermined update condition is satisfied, applying the update information to the second data storage unit and reflecting the update content in the second data storage unit; Monitoring the update information held by the update information holding unit and extracting an application state of the update information to the second data storage unit as an update status; Changing the predetermined update condition based on an instruction to change the predetermined update condition determined in accordance with the update status.
- the program according to the third aspect of the present invention is: A first data storage for holding data in a first data structure; a second data storage for holding data in a second data structure different from the first data structure; and updating the data
- An update information holding unit that holds update information representing content, and a computer that controls the distributed storage system, When a predetermined update condition is satisfied, the update information is applied to the second data storage unit, and the update content is reflected in the second data storage unit; A process of monitoring the update information held by the update information holding unit and extracting an application state of the update information to the second data storage unit as an update status; And a step of changing the predetermined update condition based on a change instruction for the predetermined update condition determined in accordance with the update status.
- program can be provided as a program product recorded on a non-transitory computer-readable recording medium.
- the storage control method, and the program according to the present invention in the distributed storage system that holds the same data in a plurality of different data structures, according to the change in the frequency and amount of access suitable for each data structure, It is possible to appropriately adjust the timing at which the update is reflected in each data storage unit.
- FIG. 3 is a block diagram showing an example of a configuration in a case where each storage node has first and second data storage units. It is a block diagram which shows the structure of the distributed storage system which concerns on 2nd Embodiment as an example.
- the distributed storage system according to the second embodiment it is a block diagram showing an example of a configuration in a case where each storage node has first and second data storage units. It is a block diagram which shows the structure of the distributed storage system which concerns on 3rd Embodiment as an example.
- FIG. 10 is a sequence diagram illustrating a sequential read access operation as an example in a distributed storage system according to a third embodiment.
- FIG. 1 is a block diagram illustrating an example of a configuration of a distributed storage system according to an embodiment.
- the distributed storage system has a first data storage unit (12a) that holds data in a first data structure and a second data structure that is different from the first data structure.
- a second data storage unit (12b) to be held and update information representing the update contents of the data are held, and when a predetermined update condition is satisfied, the update information is stored in the second data storage unit (12b).
- the update information holding unit (23) for reflecting the update contents to the second data storage unit (12b) and the update information held by the update information holding unit (23) are monitored, Based on an update status monitoring unit (24) that extracts an application status of the update information to the data storage unit (12b) as an update status, and a change instruction for the predetermined update condition determined according to the update status
- the distributed storage system includes an update status display unit (33) that displays the update status extracted by the update status monitoring unit (24), and an update condition input unit (41) that receives the change command. , May be provided.
- the data storage unit when the distributed storage system holds the same data in a plurality of different data structures, the data storage unit is configured to update the data according to changes in the frequency and amount of access suitable for each data structure. It is possible to appropriately adjust the reflection timing. This is because the administrator of the distributed storage system can grasp the update status displayed in the update status display section (33), that is, the application status of the update information to the second data storage section (12b). This is because the update condition can be adjusted by inputting a change command for changing the update condition to the update condition input unit (41).
- the distributed storage system may include an update information control unit (34) that generates the change command in accordance with the update status.
- the update information control unit (34) predicts the number of update information that the update information holding unit (23) will hold in the future based on the update status, and generates the change command according to the predicted number. May be.
- the update information control unit (34) may generate a command for changing the frequency at which the update information is applied to the second data storage unit (12b) as the change command.
- the update information control unit (34) when the predicted number is larger than a predetermined upper limit value, increases the frequency with which the update information is applied to the second data storage unit (12b).
- the change command may be generated so that the frequency is low.
- the data storage unit when the distributed storage system holds the same data in a plurality of different data structures, the data storage unit is configured to update the data according to changes in the frequency and amount of access suitable for each data structure. It is possible to automatically adjust the reflection timing. This is because the update information control unit (34) generates a change command for changing the update condition according to the update status, that is, the application state of the update information to the second data storage unit (12b), and updates the update command. This is because the conditions are automatically adjusted.
- the distributed storage system includes an update status display unit that displays the update status extracted by the update status monitoring unit; And an update condition input unit that receives the change command.
- the distributed storage system includes a plurality of computers having the first data storage unit, the second data storage unit, the update information holding unit, the update status monitoring unit, and the update condition changing unit, The update status display unit may display the update status extracted by the update status monitoring unit provided in each of the plurality of computers.
- the update condition input unit may receive the change command for the update condition change unit provided in each of the plurality of computers.
- the update status display unit may display the update information using at least one of a pie chart, a bar graph, and a line graph.
- the distributed storage system may include an update information control unit that generates the change command according to the update status.
- the update information control unit may predict the number of update information that the update information holding unit will hold in the future based on the update status, and generate the change command according to the number.
- the update information control unit may generate, as the change command, an instruction for changing a frequency at which the update information is applied to the second data storage unit.
- the update information control unit generates the change instruction so that the update information is frequently applied to the second data storage unit when the number is greater than a predetermined upper limit, and the number is When the number is less than a predetermined lower limit value, the change command may be generated so that the frequency becomes low.
- the update information control unit may approximate the number of update information held by the update information holding unit using a time polynomial, and may estimate the number of update information held in the future by the update information holding unit based on the polynomial. Good.
- the first data storage unit is a row-oriented database that holds the data in a row-oriented manner
- the second data storage unit may be a column-oriented database that holds the data in a column-oriented manner.
- the first data storage unit is a key-value store provided on the main memory
- the second data storage unit may be a column-oriented database provided on the main memory.
- the data stored in the first data storage unit is processed by a CPU (Central Processing Unit),
- the data stored in the second data storage unit may be processed by a GPU (Graphics Processing Unit).
- the update information holding unit holds an update log for a record as the update information
- the update status monitoring unit may extract the number of update logs existing in the update information holding unit as the update status.
- the update status monitoring unit may extract a time average of the number of update logs existing in the update information holding unit as the update status.
- the second data storage unit manages the data in a predetermined unit such as an object, a tuple, or a block,
- the number of pieces of update information held by the update information holding unit may be increased according to update access or deletion access in the predetermined unit, and may not be changed depending on reference access in the predetermined unit.
- the number of pieces of update information held by the update information holding unit may return to zero when a plurality of units of reference access reach the second data storage unit.
- the number of pieces of update information held by the update information holding unit may return to zero when the predetermined update condition is satisfied.
- the update information holding unit holds an update log for a record in a first FIFO (First-In First-Out) format, and does not hold update information when an access to the second data storage unit occurs. It is also possible to switch to the second FIFO format and hold the write access from the client computer in the second FIFO format while applying the update log in the first FIFO format to the second data storage unit.
- the storage control method according to the second aspect is as described above.
- the storage control method includes a step of displaying the extracted update status; Receiving the change command.
- the storage control method may include a step of generating the change command according to the update status.
- the number of pieces of update information that the update information holding unit will hold in the future may be predicted based on the update state, and the change command may be generated according to the number.
- an instruction for changing a frequency at which the update information is applied to the second data storage unit may be generated as the change instruction.
- the change command when the number is larger than a predetermined upper limit value, the change command is generated so that the update information is frequently applied to the second data storage unit, and the number is predetermined. The change command may be generated so that the frequency is lower when the value is less than the lower limit value.
- the first data storage unit is a row-oriented database that holds the data in a row-oriented manner
- the second data storage unit may be a column-oriented database that holds the data in a column-oriented manner.
- the update information holding unit holds an update log for a record as the update information
- the number of update logs existing in the update information holding unit may be extracted as the update status.
- the second data storage unit manages the data in a predetermined unit such as an object, a tuple, or a block,
- the number of pieces of update information held by the update information holding unit may be increased according to update access or deletion access in the predetermined unit, and may not be changed depending on reference access in the predetermined unit.
- the program is related to the third viewpoint.
- the program includes a process for displaying the extracted update status; You may make the said computer perform the process which receives the said change command.
- the program may cause the computer to execute a process for generating the change instruction according to the update status.
- FIG. 1 is a block diagram showing an example of the configuration of a distributed storage system according to this embodiment.
- the distributed storage system includes a first data storage unit 12a, a second data storage unit 12b, an update information holding unit 23, an update status monitoring unit 24, an update status transmission unit 25, and an update status reception unit 32. , An update condition display unit 33, an update condition input unit 41, an update condition transmission unit 42, an update condition reception unit 26, and an update condition change unit 27.
- the second data storage unit 12b has a characteristic (for example, a data structure) different from that of the first data storage unit 12a.
- the update information holding unit 23 holds the update information before application to the second data storage unit 12b while the update condition is false, and the second data storage unit 12b when the condition is true.
- Applies to The update status monitoring unit 24 monitors the status of update information held by the update information holding unit 23.
- the update status transmission unit 25 transmits the update status output from the update status monitoring unit 24.
- the update status receiving unit 32 receives the update status.
- the update status display unit 33 displays information indicating the update status.
- the update condition input unit 41 receives an update condition change command.
- the update condition transmission unit 42 transmits the update condition change command.
- the update condition receiving unit 26 receives the update condition change command.
- the update condition changing unit 27 changes the update condition of the update information holding unit 23 based on the update condition change command.
- the distributed storage system includes one or more system computers 21 including a first data storage unit 12a and a second data storage unit 12b, and one or more update status reception units 32.
- the update status transmission unit 25 may receive the update status, and the update status display unit 33 may display one or more update statuses.
- the update condition input unit 41 receives one or more update condition change commands
- the update condition transmission unit 42 receives one or more update condition reception units for one update condition change command. 26 may be transmitted.
- the update condition is appropriately set according to changes in the frequency and amount of access for the first data structure and the frequency and amount of access for the second data structure. Is possible.
- the administrator of the distributed storage system uses the update status display unit 33 to set one or more update information holding units 23 serving as resource allocation parameters for the first data structure access and the second data structure access. This is because the state can be observed / confirmed, and according to the result, the administrator can set an update condition that is considered appropriate to be set next, and can input one or more change commands through the update condition input unit 41. Thereby, even if the tendency of access to the distributed storage system changes, the update information holding unit 23 can set an appropriate update condition by following the change instruction, and reduce the computer load when applying the update information. Can do.
- FIG. 3 is a block diagram showing an example of the configuration of the distributed storage system according to this embodiment.
- the distributed storage system includes a first data storage unit 12a, a second data storage unit 12b, an update information holding unit 23, an update status monitoring unit 24, an update status transmission unit 25, and an update information control unit 34. , An update condition input unit 41, an update condition transmission unit 42, an update condition reception unit 26, and an update condition change unit 27.
- the second data storage unit 12b has a characteristic (for example, a data structure) different from that of the first data storage unit 12a.
- the update information holding unit 23 holds the update information before application to the second data storage unit 12b while the update condition is false, and the second data storage unit 12b when the condition is true.
- Applies to The update status monitoring unit 24 monitors the status of update information held by the update information holding unit 23.
- the update status transmission unit 25 transmits the update status output from the update status monitoring unit 24.
- the update status receiving unit 32 receives the update status.
- the update information control unit 34 uses at least the update status and generates an update condition change command as necessary.
- the update condition input unit 41 receives the update condition change command.
- the update condition transmission unit 42 transmits the update condition change command.
- the update condition receiving unit 26 receives the update condition change command.
- the update condition changing unit 27 changes the update condition of the update information holding unit 23 based on the update condition change command.
- the distributed storage system includes one or more system computers 21 including a first data storage unit 12a and a second data storage unit 12b, and one or more update status reception units 32.
- the update status may be received from the update status transmission unit 25.
- the update condition input unit 41 accepts one or more update condition change commands
- the update condition transmission unit 42 receives one or more update condition reception units per one update condition change command. 26 may be transmitted.
- the update instruction is generated by the update information control unit 34, so that even in a system that operates continuously for 24 hours and 365 days, the administrator does not always monitor the update status and updates Conditions can be set appropriately.
- FIG. 5 is a block diagram showing an example of the configuration of the distributed storage system according to this embodiment.
- the distributed storage system includes a distributed storage device for distributed control, a client computer 50, a monitoring computer 30, and a control computer 40 coupled via a network 70.
- the data utilization process 51 on the client computer 50 accesses the distributed storage apparatus including a data identifier and an identifier representing a data operation to store data for one or a plurality of data and to store the stored data. Acquire, update stored data, and erase stored data.
- the monitoring computer 30 includes a display device, and the update status receiving unit 32 and the update status display unit 33 described above are mounted.
- the display device is a device that converts information in the computer into a physical phenomenon that can be confirmed by one or more of the five senses, such as a display, a printer, and a speaker.
- the control computer 40 includes an input device, and the update condition input unit 41 and the update condition transmission unit 42 described above are mounted.
- the input device is a device that converts human behavior into information in the computer, such as a keyboard, a mouse, a touch panel, a camera, a microphone, and a heat sensor.
- the computer includes a storage unit 12 x and one or more communication controllers 18.
- the storage node Nx transmits / receives data to / from the network 70 via the communication controller 18, and stores / reads necessary data with the data storage unit 12 x via the I / O controller 17.
- the distributed storage device includes storage nodes Na to Nc. Software for controlling the storage node Nx is stored in the memory 16 and executed by the CPU 15.
- the memory 16 and the data storage unit 12x may be the same hardware.
- the network 70 is realized by upper protocols such as Fiber Channel, FCoE (Fibre Channel over Ethernet (registered trademark)), Infiniband, and TCP / IP (Transmission Control Protocol / Internet Protocol) on Ethernet.
- upper protocols such as Fiber Channel, FCoE (Fibre Channel over Ethernet (registered trademark)), Infiniband, and TCP / IP (Transmission Control Protocol / Internet Protocol) on Ethernet.
- FCoE Fibre Channel over Ethernet (registered trademark)
- Infiniband Infiniband
- TCP / IP Transmission Control Protocol / Internet Protocol
- the data recorded in the distributed storage device is distributedly stored in the data storage unit 12x in the storage node Nx.
- Data is managed by a set of fixed-length or arbitrary-length data chunks and a data identifier representing the data chunk, and access to each data is performed by the access distribution unit 60 implemented by the data management unit 14x.
- the storage node Nx to be held is reached.
- the data chunk is a file and the data identifier is an i-node number.
- the data chunk is a block of 4 kilobytes in length
- the data identifier is a set of a volume name and a block number.
- the data chunk is a record and the data identifier is a primary key.
- the data to be stored is duplicated and stored in different storage nodes Nx.
- the data management unit 14x determines the data structure of the data to be stored and stores it in the data storage unit 12x.
- the data structure is an index for determining in which order the data stored at which address on the device of the data storage unit 12x is recorded.
- the data structure is a row-oriented database and the data storage unit 12x is main memory
- the data to be stored is divided into records and recorded continuously in the main memory address space as shown in FIG.
- the As a continuous recording method a method is known in which main memory is divided into fixed lengths of 4 KB pages, data is arranged in order from the end of the fixed length, and the top position of the data is stored in order from the top of the page. It is also known that a row-oriented database can be accessed at high speed by further storing an index data structure represented by B-Tree.
- the data structure is a column-oriented database and the data storage unit 12x is main memory
- the data to be stored is divided in units of attributes and columns in the record, and the main memory address In the space, the same column is recorded continuously.
- a continuous recording method there is a method in which the column contents are sequentially described in the page, and a method in which the same value in the column is omitted (Non-Patent Document 1).
- the data structure is a hash map or key-value store and the data storage unit 12x is the main memory, as shown in FIG. 9, data chunks of data to be stored are continuously recorded at a certain address,
- the start address can be stored in an array in memory having a subscript calculated based on the hash value of the data identifier.
- examples of data structures are not limited to these.
- the data storage unit 12x is an HDD, SSD, or the like, the above data structure can be adopted as long as the device can provide a uniquely continuous address space.
- each column in each record is accessed for retrieving all stored data, or each record is associated with each other for the value of a certain column, which is known as JOIN in the relational database.
- Such access can be processed at high speed.
- the update of each record or the access by designating the data identifier of each record is an access for all the data identifiers of all records, so that processing takes time.
- the data structure is a hash map
- record reference and record insertion by specifying a data identifier are fast.
- data acquisition by specifying a value other than the data identifier and record access by specifying the range of the data identifier are slow.
- good performance or poor performance is a relative indicator.
- data stored in a certain data structure 1 and data stored in another data structure 2 have different throughput or latency when the data structure 1 is accessed by a certain access method A. If the data storage unit stored in 2 is better than the throughput or latency when the same access method A is accessed, the data structure 1 for the access method A is “better performance”.
- the definition of “good performance” may be as follows instead of having good throughput or latency. That is, the access amount and the access speed may be high, such as throughput and latency.
- the environmental load due to the access amount may be small, such as low power consumption and low waste.
- the operation cost may be low, such as a small charge amount for access and data transfer, and a low consumption rate of consumables.
- it is good also as a low data loss rate, such as having the precision of components and having a redundant structure inside. Further, a combination of these may be defined as having good performance.
- the access method with the better performance of the data structure 1 is referred to as the access method for the data structure 1, and the access method with the better performance of the data structure 2. This is called an access method for the data structure 2.
- the relative performance of three or more data structures is compared as in the case of the two data structures.
- data 1 is replicated in three and stored in storage nodes Na, Nb, and Nc, respectively.
- the data may be stored in the data structure 1 in the storages Na and Nb, and may be stored in the data structure 2 in the storage Nc.
- the data 2 is duplicated into four and stored in the storage nodes Nd to Ng.
- the storage Nd may be stored in the data structure 3
- the storage Ne may be stored in the data structure 4
- the storage Nf may be stored in the data structure 5
- the storage Ng may be stored in the data structure 6.
- the data 1 may be stored in the data structure 1 and the data 2 may be stored in the data structure 2.
- the storage node can store the data update in the update information holding unit 23 and return an update end notification.
- the update information holding unit 23 is a kind of data structure, and has a data structure in which access for adding update information, that is, information indicating an update, is more suitable than the data structure 2.
- the update information is information that can be applied to data on the data structure 2 at a later stage with access (creation, update, deletion) for changing certain data taking time.
- the update information holding unit 23 may hold the data itself updated in the FIFO on the main memory as update information.
- the update information holding unit 23 records a set of pre-update value, post-update value, and data identifier in the log structure file system on the HDD in the order of access as update information. Also good.
- the update information holding unit 23 only needs to satisfy the above definition, and is not limited to these examples.
- the applied update information is removed from the update information holding unit 23.
- an update condition that is true or false is set every certain time.
- the update information holding unit applies part or all of the stored update information to the data structure 2 to update the data structure 2.
- Update conditions include algorithms and parameters.
- the update condition algorithm a case where the total data amount of the update information becomes a constant amount is considered. At this time, a certain amount of value becomes a parameter.
- the update condition algorithm a case where the number of updates of update information becomes a fixed number is considered. At this time, a certain number of values become parameters.
- the update condition algorithm there may be a case where a predetermined time has elapsed since the last update information application. At this time, the value of a certain time becomes a parameter.
- the algorithm for the update condition a case where the utilization rate of the CPU of the computer having the second data storage unit becomes equal to or higher than a certain rate can be considered. At this time, a certain ratio becomes a parameter.
- the update conditions are not limited to these.
- the update information holding unit 23 sends the update information to the second information before processing the access. Applies to data structures.
- 10 to 13 show the case where data having the first data structure (first data storage unit 12a), data having the second data structure (second data storage unit 12b), and update information holding unit 23 are used. Shows the access sequence.
- random read and random write are accesses to the first data storage unit 12a
- sequential reads and complex queries are access to the second data storage unit 12b.
- these accesses are merely for convenience of explanation, and access for each data storage unit is not limited to these.
- FIG. 10 shows random read access.
- the access distribution unit 60 resolves that the random read access is for the first data storage unit 12a. Therefore, the random read access from the client computer 50 reaches the first data storage unit 12a, and data that is a response to the request is returned from the first data storage unit 12a.
- FIG. 11 shows a write access (data creation, update or deletion access) sequence.
- the write access is input to a computer having a data storage unit that holds all copies of the data. Since the random write is an access for the first data storage unit 12a, the first data storage unit 12a applies the update as it is.
- the update information holding unit 23 located in the preceding stage creates and holds update information from random write to the data. Next, when the update condition becomes true, the update information is applied to the second data storage unit 12b.
- FIG. 12 shows a sequential read access sequence. Since the sequential read access is an access to the second data storage unit 12b, the sequential read access from the client computer 50 reaches the second data storage unit 12b by the access distribution unit 60. When the second data storage unit 12b processes the access, a part or all of the update information stored in the update information holding unit 23 in the previous stage has an order determined by the update information holding unit 23 Are applied to the second data storage unit 12b to update the data while following the order. Next, the access is processed, and the access result is returned to the client computer 50. In FIG. 12, the access is processed after the update is applied. However, it is also possible to apply the update while processing the access by processing the access from the data to which the update is not applied or appropriately performing exclusive control.
- FIG. 13 shows a complicated data analysis sequence. Since the data analysis is an access for the second data storage unit, as in the case of the sequential read shown in FIG. 12, it is processed by the second data storage unit, and the result is returned to the client computer.
- the storage node that implements the update information holding unit 23 includes an update status monitoring unit 24 and an update status transmission unit 25.
- the update status monitoring unit 24 generates “update status” as information indicating an increase / decrease in the amount of update information stored in the update information holding unit 23.
- the update status stores update access or deletion access in units of data in the update information holding unit 23. Then, it may be increased. Further, the reference access in units of data may not be stored in the update information holding unit 23, or even if stored, the update status may not increase. Furthermore, when the reference access of a plurality of data units reaches the second data storage unit 12b, the update status may return to zero.
- the update status may be a value that returns to zero when the update condition reaches true.
- the update status may be the number of update information stored in the update information holding unit 23. Furthermore, the update status may be an average of the number of update information stored in the update information holding unit per unit time.
- the update status may be the total update data size of the update information stored in the update information holding unit 23.
- the update status may be the maximum number of update information stored in the update information holding unit 23 per recently fixed time.
- the update status may be the minimum number of update information stored in the update information holding unit 23 per recent fixed time.
- the update status may be a% value obtained by dividing the number of update information stored in the update information holding unit 23 by the maximum number of update information that can be stored in the update information holding unit 23.
- the update status may be a value obtained by dividing the number of update information by the difference in storage time between the latest update information stored in the update information holding unit 23 and the oldest update information.
- the update status may be a value of a function f (x) that monotonously increases with respect to x, where x is the update status exemplified above.
- the update status may be a value of a function g (x) that decreases monotonously with respect to x when the update status illustrated above is x.
- the update status may have changed within a certain period of time as a result of estimating the time of change for the time series x1, x2,..., X_n collected at regular intervals from the update status exemplified above. It is good also as a probability value showing.
- the change point estimation algorithm can use, for example, a method described in Non-Patent Document 4 for calculating an AIC (Akaike's Information Criterion) for each of a plurality of time-series subsections. .
- the update status is the average of the previous x_n, x1, x2,..., X_n-1 with respect to the time series x1, x2,. It may be a value that becomes 1 when it is out of a predetermined ratio.
- the update status transmission unit 25 transmits the update status collected by the update status monitoring unit 24 to the update status reception unit 32 installed in the monitoring computer 30.
- the update status transmission unit 25 may transmit the update status periodically.
- the update status transmission unit 25 may transmit the latest update status when requested by the update status reception unit 32. Further, the update status transmission unit 25 may transmit only the latest value as the update status.
- the update status transmission unit 25 may transmit zero or more values recently collected within a certain time as the update status.
- the update status transmission unit 25 may transmit one or more values that have recently been collected in a certain number as the update status.
- the received update status is displayed by the update status display unit 33.
- the display is executed by converting it into a format in which a person can know whether the update status is large or small, or whether there is a temporal change.
- FIG. 14 shows a display example by the update status display unit 33.
- the update status display unit 33 presents information including the size of the update status via a screen such as the Web.
- the update status display unit 33 displays the update status as a bar graph. At this time, the magnitude of the update status can be grasped based on the horizontal length of the bar graph.
- the update status display unit 33 may display the update status with a past value in a line graph. Furthermore, the update status display unit 33 may represent the update status as a pie chart with a predetermined value being 100%. Moreover, the update status display part 33 may display an update status with the icon which shows that the tendency changed in the fixed time recently. Furthermore, the update status display unit 33 may express the update status by voice synthesis that reads out a numerical value.
- a person who reads the update status from the update status display unit 33 sets an update condition from the update condition input unit 41 of the control computer 40 as necessary. input.
- the update condition input unit 41 provides a function for inputting how a person changes the update condition.
- FIG. 15 shows the configuration of the update condition input unit 41 as an example.
- the parameters of the update condition that is currently set can be changed via a screen such as Web.
- an update condition can be set for each storage node, and the update value change command is input by changing the current value of the text box labeled with the storage node and selecting the send button. Can do.
- FIG. 16 illustrates another configuration of the update condition input unit 41.
- the algorithm of the update condition can be changed via a screen such as Web.
- a storage node is specified in a text box for specifying a storage node number
- an algorithm change is specified with an exclusive radio button for selecting an algorithm
- an update condition change command is input by selecting a send button. be able to.
- not only an update condition change command is set for each individual storage node, but also update conditions for the update information holding unit 23 operating in a plurality of storage nodes can be set together as illustrated in FIG. it can.
- FIG. 17 illustrates another configuration of the update condition input unit 41.
- FIG. 17 shows a case where the update status display unit 33 and the update condition input unit 41 are provided on the same screen when the monitoring computer 30 and the control computer 40 are the same computer.
- the change parameter may be input from a microphone by voice, and an update condition change command may be input based on a voice synthesized value.
- FIG. 18 illustrates another configuration of the update condition input unit 41.
- a change value is input from the command prompt of the control computer 40, and a change_condition command corresponding to the update condition transmission unit 42 is sent with the destination nodea as an argument by the inter-process communication function of the OS (Operating System). You are typing.
- OS Operating System
- the change parameter may be input from a microphone by voice, and an update condition change command may be input based on a voice synthesized value.
- the input update condition change command is input from the update condition transmission unit 42 of the control computer 40 to the update condition change unit 27 via the update condition reception unit 26 of the storage node.
- the update condition changing unit 27 changes the update condition algorithm and / or parameter at which the update information holding unit 23 applies the update information.
- the update condition can be appropriately changed according to the change in the access tendency.
- the administrator knows that the access trend will change, so access
- the amount of update information inside the update information holding unit 23 can be grasped based on the update status, and whether or not the update condition should be changed and how much the update frequency can be increased. It can be judged whether it should be.
- the administrator can acquire the updated update status from the update status display unit 33, when the updated update condition is not appropriate, the administrator can grasp that the update status is not appropriate, and update again. Conditions can be changed.
- the monitoring computer 30 can display not only the update status but also the access performance and other performance indexes of the client computer 50, the usefulness of the distributed storage system of this embodiment is further improved. For example, when the access performance of the client computer 50 decreases, it is possible to grasp how the status of the update information holding unit 23 is different from the previous one based on the update status display unit 33. If it is a cause of access performance degradation, the update performance of the update information holding unit 23 can be changed via the update condition changing unit 27 to recover the access performance.
- FIG. 19 is a block diagram showing an example of the configuration of the distributed storage system according to this embodiment.
- the distributed storage system includes an update status receiving unit 32, an update condition, instead of the control computer 40 and the monitoring computer 30 in the distributed storage system (FIG. 5) according to the third embodiment.
- a monitoring / control computer 31 that includes the transmission unit 42 and the update information control unit 34 is provided.
- the update information control unit 34 creates an update condition change command if necessary based on the update status received by the update status reception unit 32, and updates the storage node via the update condition transmission unit 42. Input to the condition changing unit 27.
- the update information control unit 34 it is conceivable to use an algorithm that uses the upper and lower limits of the update status.
- the operation of the update information control unit 34 will be described with reference to FIG.
- an upper limit and a lower limit of the value of the update status are determined.
- the update status is the number of update information in the update information holding unit 23
- the lower limit can be set to 0, and the upper limit can be set to the maximum number of update information that can be stored in the update information holding unit 23.
- the update information control unit 34 continues to observe the update status and predicts future values using the values as a time series. For example, the update information control unit 34 can predict a future value by approximating a linear function in which the time series is the observation time t and the output is s * t + u using the least square method.
- the update information control unit 34 may predict the update status based on a more complicated time series analysis.
- Non-Patent Document 4 describes a time series prediction in which a trend model and a periodic model are applied to a state space model, and a parameter that best approximates the time series in each model is obtained by using maximum likelihood estimation and information criterion. The method is described. The update information control unit 34 may predict the update status using such a time series prediction method.
- the update information control unit 34 When the predicted future value exceeds the above upper limit within a certain time, the update information control unit 34 generates an update condition change instruction so that the frequency at which the update condition becomes true increases, and transmits the update condition. It is preferable to issue it to the part 42.
- the update information control unit 34 issues an instruction to change to time t2 where t1> t2.
- the update information control unit 34 determines that the number n2 of n1> n2 is new when the predetermined number n1 of update information having the update condition is true when stored in the update information holding unit 23. Issue an instruction that is set to
- the update information control unit 34 If the predicted future value falls below the lower limit within a certain period of time, the update information control unit 34 generates an update condition change command so that the frequency at which the update condition becomes true decreases, and transmits the update condition transmission It is preferable to issue it to the part 42.
- the update information control unit 34 issues an instruction to change to a time t3 where t1 ⁇ t3.
- the update information control unit 34 determines that the number n3 satisfying n1 ⁇ n3 is new when the update condition is true when a predetermined number n1 pieces of update information having the update condition are stored in the update information holding unit 23. Issue an instruction that is set to
- the update information control unit 34 acquires update statuses from two or more storage nodes existing in the distributed storage system.
- the update information control unit 34 calculates an average of the acquired update status values, and when there is a storage node that indicates an update status that is significantly larger than the average value, an update condition change command for changing the update condition of the storage node is issued. Issue.
- the update information control unit 34 detects that it has deviated significantly from the average value, for example, it exceeds a certain fixed ratio, exceeds a certain fixed value, continues to exceed a certain fixed period, etc. You may make it detect by conditions.
- FIG. 21 shows the update status of the storage nodes Na to Ne.
- the update information control unit 34 observes the update status of the storage nodes Na to Ne to detect that the update status of the storage node Ne deviates from the average. At this time, the update information control unit 34 issues an update condition change command to the update information holding unit 23 of the storage node Ne.
- the update condition can be appropriately changed according to the change in the access tendency as in the distributed storage device according to the third embodiment.
- the system administrator it is not necessary for the system administrator to constantly monitor the system as in the third embodiment, so that human costs can be reduced. Also, according to the present embodiment, it is possible to reset the update condition with finer granularity in terms of time compared to the third embodiment. However, in consideration of the input information to the update information control unit 34 and the limited calculation capability, an appropriate value can be set based on human knowledge in the third embodiment. Is preferred.
- the distributed storage system can be applied to, for example, a parallel database, a parallel data processing system, a distributed storage, a parallel file system, a distributed database, a data grid, a cluster computer, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、日本国特許出願:特願2012-065190号(2012年3月22日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、分散ストレージシステム、ストレージ制御方法およびプログラムに関し、特に、異なるデータ構造で複製を保持する分散ストレージシステム、その動的性能パラメータの監視、調整等の制御を行うストレージ制御方法およびプログラムに関する。
第1のデータ構造でデータを保持する第1のデータ格納部と、
前記第1のデータ構造とは異なる第2のデータ構造で、前記データを保持する第2のデータ格納部と、
前記データの更新内容を表す更新情報を保持するとともに、所定の更新条件が満たされた場合、前記更新情報を前記第2のデータ格納部に適用して、前記更新内容を前記第2のデータ格納部に反映させる更新情報保持部と、
前記更新情報保持部が保持する前記更新情報を監視し、前記第2のデータ格納部への前記更新情報の適用状態を更新状況として抽出する更新状況監視部と、
前記更新状況に応じて決定された、前記所定の更新条件の変更命令に基づいて、前記所定の更新条件を変更する更新条件変更部と、を備える。
第1のデータ構造でデータを保持する第1のデータ格納部と、前記第1のデータ構造とは異なる第2のデータ構造で前記データを保持する第2のデータ格納部と、前記データの更新内容を表す更新情報を保持する更新情報保持部と、を備えた分散ストレージシステムを制御するストレージ制御方法であって、
所定の更新条件が満たされた場合、前記更新情報を前記第2のデータ格納部に適用して、前記更新内容を前記第2のデータ格納部に反映させる工程と、
前記更新情報保持部が保持する前記更新情報を監視し、前記第2のデータ格納部への前記更新情報の適用状態を更新状況として抽出する工程と、
前記更新状況に応じて決定された、前記所定の更新条件の変更命令に基づいて、前記所定の更新条件を変更する工程と、を含む。
第1のデータ構造でデータを保持する第1のデータ格納部と、前記第1のデータ構造とは異なる第2のデータ構造で前記データを保持する第2のデータ格納部と、前記データの更新内容を表す更新情報を保持する更新情報保持部と、を備えた分散ストレージシステムを制御するコンピュータに対して、
所定の更新条件が満たされた場合、前記更新情報を前記第2のデータ格納部に適用して、前記更新内容を前記第2のデータ格納部に反映させる処理と、
前記更新情報保持部が保持する前記更新情報を監視し、前記第2のデータ格納部への前記更新情報の適用状態を更新状況として抽出する処理と、
前記更新状況に応じて決定された、前記所定の更新条件の変更命令に基づいて、前記所定の更新条件を変更する処置と、を実行させる。
[形態1]
上記第1の視点に係る分散ストレージシステムのとおりである。
[形態2]
前記分散ストレージシステムは、前記更新状況監視部によって抽出された前記更新状況を表示する更新状況表示部と、
前記変更命令を受け付ける更新条件入力部と、を備えていてもよい。
[形態3]
前記分散ストレージシステムは、前記第1のデータ格納部、前記第2のデータ格納部、前記更新情報保持部、前記更新状況監視部、および、前記更新条件変更部を有する複数の計算機を備え、
前記更新状況表示部は、前記複数の計算機のそれぞれに設けられた前記更新状況監視部によって抽出された前記更新状況を表示してもよい。
[形態4]
前記更新条件入力部は、前記複数の計算機のそれぞれに設けられた前記更新条件変更部に対する前記変更命令を受け付けてもよい。
[形態5]
前記更新状況表示部は、前記更新情報を円グラフ、棒グラフおよび折れ線グラフの少なくともいずれかを用いて表示してもよい。
[形態6]
前記分散ストレージシステムは、前記更新状況に応じて、前記変更命令を生成する更新情報制御部を備えていてもよい。
[形態7]
前記更新情報制御部は、前記更新状況に基づいて、前記更新情報保持部が将来保持する更新情報の個数を予測し、前記個数に応じて前記変更命令を生成してもよい。
[形態8]
前記更新情報制御部は、前記更新情報が前記第2のデータ格納部に適用される頻度を変更する命令を、前記変更命令として生成してもよい。
[形態9]
前記更新情報制御部は、前記個数が所定の上限値よりも多い場合、前記更新情報が前記第2のデータ格納部に適用される頻度が高くなるように前記変更命令を生成し、前記個数が所定の下限値よりも少ない場合、前記頻度が低くなるように前記変更命令を生成してもよい。
[形態10]
前記更新情報制御部は、前記更新情報保持部が保持する更新情報の個数を時刻の多項式で近似し、前記更新情報保持部が将来保持する更新情報の個数を前記多項式に基づいて推定してもよい。
[形態11]
前記第1のデータ格納部は、前記データを行指向で保持する行指向データベースであり、
前記第2のデータ格納部は、前記データを列指向で保持する列指向データベースであってもよい。
[形態12]
前記第1のデータ格納部は、主記憶上に設けられたキーバリューストア(Key-Value Store)であり、
前記第2のデータ格納部は、主記憶上に設けられた列指向データベースであってもよい。
[形態13]
前記第1のデータ格納部に格納された前記データは、CPU(Central Processing Unit)によって処理され、
前記第2のデータ格納部に格納された前記データは、GPU(Graphics Processing Unit)によって処理されてもよい。
[形態14]
前記更新情報保持部は、レコードに対する更新ログを前記更新情報として保持し、
前記更新状況監視部は、前記更新情報保持部に存在する更新ログの個数を、前記更新状況として抽出してもよい。
[形態15]
前記更新状況監視部は、前記更新情報保持部に存在する更新ログの個数の時間平均を、前記更新状況として抽出してもよい。
[形態16]
前記第2のデータ格納部は、オブジェクト、タプル、ブロック等の所定の単位で前記データを管理し、
前記更新情報保持部が保持する更新情報の個数は、前記所定の単位による更新アクセスまたは削除アクセスに応じて増加し、前記所定の単位による参照アクセスによっては変動しないようにしてもよい。
[形態17]
前記更新情報保持部が保持する更新情報の個数は、複数の単位の参照アクセスが前記第2のデータ格納部に到達した場合、ゼロに戻るようにしてもよい。
[形態18]
前記更新情報保持部が保持する更新情報の個数は、前記所定の更新条件が満たされた場合、ゼロに戻るようにしてもよい。
[形態19]
前記更新情報保持部は、レコードに対する更新ログを第1のFIFO(First-In First-Out)形式で保持し、前記第2のデータ格納部へのアクセスが生じた場合、更新情報を保持しない第2のFIFO形式に切り替え、前記第1のFIFO形式の更新ログを前記第2のデータ格納部に適用しつつ、クライアント計算機からのライトアクセスを前記第2のFIFO形式に保持してもよい。
[形態20]
上記第2の視点に係るストレージ制御方法のとおりである。
[形態21]
前記ストレージ制御方法は、抽出された前記更新状況を表示する工程と、
前記変更命令を受け付ける工程と、を含んでもよい。
[形態22]
前記ストレージ制御方法は、前記更新状況に応じて、前記変更命令を生成する工程を含んでもよい。
[形態23]
前記ストレージ制御方法において、前記更新状況に基づいて、前記更新情報保持部が将来保持する更新情報の個数を予測し、前記個数に応じて前記変更命令を生成してもよい。
[形態24]
前記ストレージ制御方法において、前記更新情報が前記第2のデータ格納部に適用される頻度を変更する命令を、前記変更命令として生成してもよい。
[形態25]
前記ストレージ制御方法において、前記個数が所定の上限値よりも多い場合、前記更新情報が前記第2のデータ格納部に適用される頻度が高くなるように前記変更命令を生成し、前記個数が所定の下限値よりも少ない場合、前記頻度が低くなるように前記変更命令を生成してもよい。
[形態26]
前記ストレージ制御方法において、前記第1のデータ格納部は、前記データを行指向で保持する行指向データベースであり、
前記第2のデータ格納部は、前記データを列指向で保持する列指向データベースであってもよい。
[形態27]
前記ストレージ制御方法において、前記更新情報保持部は、レコードに対する更新ログを前記更新情報として保持し、
前記更新情報保持部に存在する更新ログの個数を、前記更新状況として抽出してもよい。
[形態28]
前記ストレージ制御方法において、前記第2のデータ格納部は、オブジェクト、タプル、ブロック等の所定の単位で前記データを管理し、
前記更新情報保持部が保持する更新情報の個数は、前記所定の単位による更新アクセスまたは削除アクセスに応じて増加し、前記所定の単位による参照アクセスによっては変動しないようにしてもよい。
[形態29]
上記第3の視点に係るプログラムのとおりである。
[形態30]
前記プログラムは、抽出された前記更新状況を表示する処理と、
前記変更命令を受け付ける処置と、を前記コンピュータに実行させてもよい。
[形態31]
前記プログラムは、前記更新状況に応じて、前記変更命令を生成する処理を、前記コンピュータに実行させてもよい。
第1の実施形態に係る分散ストレージシステムについて、図面を参照して説明する。図1は、本実施形態に係る分散ストレージシステムの構成を一例として示すブロック図である。
第2の実施形態に係る分散ストレージシステムについて、図面を参照して説明する。図3は、本実施形態に係る分散ストレージシステムの構成を一例として示すブロック図である。
第3の実施形態に係る分散ストレージシステムについて、図面を参照して説明する。図5は、本実施形態に係る分散ストレージシステムの構成を一例として示すブロック図である。
第4の実施形態に係る分散ストレージシステムについて、図面を参照して説明する。図19は、本実施形態に係る分散ストレージシステムの構成を一例として示すブロック図である。
12、12a~12c、12x、22 データ格納部
14a~14c、14x データ管理部
15 CPU(Central Processing Unit)
16 メモリ
17 I/Oコントローラ
18 通信コントローラ
23 更新情報保持部
24 更新状況監視部
25 更新状況送信部
26 更新条件受信部
27 更新条件変更部
30 監視計算機
31 監視・制御計算機
32 更新状況受信部
33 更新状況表示部
34 更新情報制御部
40 制御計算機
41 更新条件入力部
42 更新条件送信部
50 クライアント計算機
51 データ利用プロセス
60 アクセス分配部
70 ネットワーク
Na~Nf、Nx ストレージノード
Claims (19)
- 第1のデータ構造でデータを保持する第1のデータ格納部と、
前記第1のデータ構造とは異なる第2のデータ構造で、前記データを保持する第2のデータ格納部と、
前記データの更新内容を表す更新情報を保持するとともに、所定の更新条件が満たされた場合、前記更新情報を前記第2のデータ格納部に適用して、前記更新内容を前記第2のデータ格納部に反映させる更新情報保持部と、
前記更新情報保持部が保持する前記更新情報を監視し、前記第2のデータ格納部への前記更新情報の適用状態を更新状況として抽出する更新状況監視部と、
前記更新状況に応じて決定された、前記所定の更新条件の変更命令に基づいて、前記所定の更新条件を変更する更新条件変更部と、を備える分散ストレージシステム。 - 前記更新状況監視部によって抽出された前記更新状況を表示する更新状況表示部と、
前記変更命令を受け付ける更新条件入力部と、を備える、請求項1に記載の分散ストレージシステム。 - 前記更新状況に応じて、前記変更命令を生成する更新情報制御部を備える、請求項1に記載の分散ストレージシステム。
- 前記更新情報制御部は、前記更新状況に基づいて、前記更新情報保持部が将来保持する更新情報の個数を予測し、前記個数に応じて前記変更命令を生成する、請求項3に記載の分散ストレージシステム。
- 前記更新情報制御部は、前記更新情報が前記第2のデータ格納部に適用される頻度を変更する命令を、前記変更命令として生成する、請求項4に記載の分散ストレージシステム。
- 前記更新情報制御部は、前記個数が所定の上限値よりも多い場合、前記更新情報が前記第2のデータ格納部に適用される頻度が高くなるように前記変更命令を生成し、前記個数が所定の下限値よりも少ない場合、前記頻度が低くなるように前記変更命令を生成する、請求項5に記載の分散ストレージシステム。
- 前記第1のデータ格納部は、前記データを行指向で保持する行指向データベースであり、
前記第2のデータ格納部は、前記データを列指向で保持する列指向データベースである、請求項1ないし6いずれか1項に記載の分散ストレージシステム。 - 前記更新情報保持部は、レコードに対する更新ログを前記更新情報として保持し、
前記更新状況監視部は、前記更新情報保持部に存在する更新ログの個数を、前記更新状況として抽出する、請求項1ないし7のいずれか1項に記載の分散ストレージシステム。 - 前記第2のデータ格納部は、オブジェクト、タプル、ブロック等の所定の単位で前記データを管理し、
前記更新情報保持部が保持する更新情報の個数は、前記所定の単位による更新アクセスまたは削除アクセスに応じて増加し、前記所定の単位による参照アクセスによっては変動しない、請求項1ないし8のいずれか1項に記載の分散ストレージシステム。 - 第1のデータ構造でデータを保持する第1のデータ格納部と、前記第1のデータ構造とは異なる第2のデータ構造で前記データを保持する第2のデータ格納部と、前記データの更新内容を表す更新情報を保持する更新情報保持部と、を備えた分散ストレージシステムを制御するストレージ制御方法であって、
所定の更新条件が満たされた場合、前記更新情報を前記第2のデータ格納部に適用して、前記更新内容を前記第2のデータ格納部に反映させる工程と、
前記更新情報保持部が保持する前記更新情報を監視し、前記第2のデータ格納部への前記更新情報の適用状態を更新状況として抽出する工程と、
前記更新状況に応じて決定された、前記所定の更新条件の変更命令に基づいて、前記所定の更新条件を変更する工程と、を含むストレージ制御方法。 - 抽出された前記更新状況を表示する工程と、
前記変更命令を受け付ける工程と、を含む、請求項10に記載のストレージ制御方法。 - 前記更新状況に応じて、前記変更命令を生成する工程を含む、請求項10に記載のストレージ制御方法。
- 前記更新状況に基づいて、前記更新情報保持部が将来保持する更新情報の個数を予測し、前記個数に応じて前記変更命令を生成する、請求項12に記載のストレージ制御方法。
- 前記更新情報が前記第2のデータ格納部に適用される頻度を変更する命令を、前記変更命令として生成する、請求項13に記載のストレージ制御方法。
- 前記個数が所定の上限値よりも多い場合、前記更新情報が前記第2のデータ格納部に適用される頻度が高くなるように前記変更命令を生成し、前記個数が所定の下限値よりも少ない場合、前記頻度が低くなるように前記変更命令を生成する、請求項14に記載のストレージ制御方法。
- 前記第1のデータ格納部は、前記データを行指向で保持する行指向データベースであり、
前記第2のデータ格納部は、前記データを列指向で保持する列指向データベースである、請求項10ないし15のいずれか1項に記載のストレージ制御方法。 - 前記更新情報保持部は、レコードに対する更新ログを前記更新情報として保持し、
前記更新情報保持部に存在する更新ログの個数を、前記更新状況として抽出する、請求項10ないし16のいずれか1項に記載のストレージ制御方法。 - 前記第2のデータ格納部は、オブジェクト、タプル、ブロック等の所定の単位で前記データを管理し、
前記更新情報保持部が保持する更新情報の個数は、前記所定の単位による更新アクセスまたは削除アクセスに応じて増加し、前記所定の単位による参照アクセスによっては変動しない、請求項10ないし17のいずれか1項に記載のストレージ制御方法。 - 第1のデータ構造でデータを保持する第1のデータ格納部と、前記第1のデータ構造とは異なる第2のデータ構造で前記データを保持する第2のデータ格納部と、前記データの更新内容を表す更新情報を保持する更新情報保持部と、を備えた分散ストレージシステムを制御するコンピュータに対して、
所定の更新条件が満たされた場合、前記更新情報を前記第2のデータ格納部に適用して、前記更新内容を前記第2のデータ格納部に反映させる処理と、
前記更新情報保持部が保持する前記更新情報を監視し、前記第2のデータ格納部への前記更新情報の適用状態を更新状況として抽出する処理と、
前記更新状況に応じて決定された、前記所定の更新条件の変更命令に基づいて、前記所定の更新条件を変更する処置と、を実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/386,946 US20150058293A1 (en) | 2012-03-22 | 2013-03-21 | Distributed storage system, storage control method and program |
EP13765195.6A EP2829976A4 (en) | 2012-03-22 | 2013-03-21 | DISTRIBUTED STORAGE SYSTEM, STORAGE CONTROL METHOD, AND PROGRAM |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012065190 | 2012-03-22 | ||
JP2012-065190 | 2012-03-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013141308A1 true WO2013141308A1 (ja) | 2013-09-26 |
Family
ID=49222764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/058111 WO2013141308A1 (ja) | 2012-03-22 | 2013-03-21 | 分散ストレージシステム、ストレージ制御方法およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150058293A1 (ja) |
EP (1) | EP2829976A4 (ja) |
JP (1) | JPWO2013141308A1 (ja) |
WO (1) | WO2013141308A1 (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015172823A (ja) * | 2014-03-11 | 2015-10-01 | 株式会社電通国際情報サービス | 情報処理装置、情報処理方法及びプログラム |
JP2015228165A (ja) * | 2014-06-02 | 2015-12-17 | 三菱電機株式会社 | データ管理装置 |
WO2017212525A1 (ja) * | 2016-06-06 | 2017-12-14 | 株式会社日立製作所 | 計算機、及びデータベース処理方法 |
JP2018513454A (ja) * | 2015-03-20 | 2018-05-24 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | カラム・ストアにおける挿入およびポイント・クエリ・オペレーションの効率的パフォーマンス |
JP2018128881A (ja) * | 2017-02-09 | 2018-08-16 | 富士通株式会社 | 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法 |
JP2018152118A (ja) * | 2013-03-15 | 2018-09-27 | アマゾン・テクノロジーズ・インコーポレーテッド | データベースエンジンを備えたデータベースシステム及び別個の分散型ストレージサービス |
KR101903726B1 (ko) * | 2018-05-04 | 2018-10-02 | 주식회사 포딕스시스템 | Cctv 영상 데이터를 분산하여 저장하는 cctv 시스템 |
US10291703B2 (en) | 2016-05-13 | 2019-05-14 | Fujitsu Limited | Information processing system, method of processing information, and information processing device |
US10592556B2 (en) | 2013-06-14 | 2020-03-17 | International Business Machines Corporation | On-the-fly encoding method for efficient grouping and aggregation |
JP2020095340A (ja) * | 2018-12-10 | 2020-06-18 | 富士通株式会社 | 情報処理システム、負荷分散処理装置および負荷分散処理プログラム |
US10831736B2 (en) | 2015-03-27 | 2020-11-10 | International Business Machines Corporation | Fast multi-tier indexing supporting dynamic update |
US11061878B2 (en) | 2015-03-20 | 2021-07-13 | International Business Machines Corporation | Parallel build of non-partitioned join hash tables and non-enforced N:1 join hash tables |
US11080260B2 (en) | 2015-03-27 | 2021-08-03 | International Business Machines Corporation | Concurrent reads and inserts into a data structure without latching or waiting by readers |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10706021B2 (en) | 2012-01-17 | 2020-07-07 | Oracle International Corporation | System and method for supporting persistence partition discovery in a distributed data grid |
CN104426926B (zh) * | 2013-08-21 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 定时发布数据的处理方法及装置 |
US10664495B2 (en) | 2014-09-25 | 2020-05-26 | Oracle International Corporation | System and method for supporting data grid snapshot and federation |
JP6549704B2 (ja) | 2014-09-25 | 2019-07-24 | オラクル・インターナショナル・コーポレイション | 分散コンピューティング環境内でゼロコピー2進基数木をサポートするためのシステムおよび方法 |
US9916275B2 (en) * | 2015-03-09 | 2018-03-13 | International Business Machines Corporation | Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system |
US10860378B2 (en) | 2015-07-01 | 2020-12-08 | Oracle International Corporation | System and method for association aware executor service in a distributed computing environment |
US10585599B2 (en) | 2015-07-01 | 2020-03-10 | Oracle International Corporation | System and method for distributed persistent store archival and retrieval in a distributed computing environment |
US11163498B2 (en) * | 2015-07-01 | 2021-11-02 | Oracle International Corporation | System and method for rare copy-on-write in a distributed computing environment |
US11243963B2 (en) | 2016-09-26 | 2022-02-08 | Splunk Inc. | Distributing partial results to worker nodes from an external data system |
US10956415B2 (en) | 2016-09-26 | 2021-03-23 | Splunk Inc. | Generating a subquery for an external data system using a configuration file |
US11874691B1 (en) | 2016-09-26 | 2024-01-16 | Splunk Inc. | Managing efficient query execution including mapping of buckets to search nodes |
US11586627B2 (en) | 2016-09-26 | 2023-02-21 | Splunk Inc. | Partitioning and reducing records at ingest of a worker node |
US11106734B1 (en) | 2016-09-26 | 2021-08-31 | Splunk Inc. | Query execution using containerized state-free search nodes in a containerized scalable environment |
US11663227B2 (en) | 2016-09-26 | 2023-05-30 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US12013895B2 (en) | 2016-09-26 | 2024-06-18 | Splunk Inc. | Processing data using containerized nodes in a containerized scalable environment |
US11281706B2 (en) | 2016-09-26 | 2022-03-22 | Splunk Inc. | Multi-layer partition allocation for query execution |
US11620336B1 (en) | 2016-09-26 | 2023-04-04 | Splunk Inc. | Managing and storing buckets to a remote shared storage system based on a collective bucket size |
US11562023B1 (en) | 2016-09-26 | 2023-01-24 | Splunk Inc. | Merging buckets in a data intake and query system |
US10776355B1 (en) | 2016-09-26 | 2020-09-15 | Splunk Inc. | Managing, storing, and caching query results and partial query results for combination with additional query results |
US11604795B2 (en) | 2016-09-26 | 2023-03-14 | Splunk Inc. | Distributing partial results from an external data system between worker nodes |
US11860940B1 (en) | 2016-09-26 | 2024-01-02 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets |
US11003714B1 (en) | 2016-09-26 | 2021-05-11 | Splunk Inc. | Search node and bucket identification using a search node catalog and a data store catalog |
US11269939B1 (en) | 2016-09-26 | 2022-03-08 | Splunk Inc. | Iterative message-based data processing including streaming analytics |
US11232100B2 (en) | 2016-09-26 | 2022-01-25 | Splunk Inc. | Resource allocation for multiple datasets |
US10977260B2 (en) | 2016-09-26 | 2021-04-13 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
US11250056B1 (en) | 2016-09-26 | 2022-02-15 | Splunk Inc. | Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system |
US11593377B2 (en) | 2016-09-26 | 2023-02-28 | Splunk Inc. | Assigning processing tasks in a data intake and query system |
US11599541B2 (en) | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US10795884B2 (en) | 2016-09-26 | 2020-10-06 | Splunk Inc. | Dynamic resource allocation for common storage query |
US11580107B2 (en) | 2016-09-26 | 2023-02-14 | Splunk Inc. | Bucket data distribution for exporting data to worker nodes |
US11314753B2 (en) | 2016-09-26 | 2022-04-26 | Splunk Inc. | Execution of a query received from a data intake and query system |
US11550847B1 (en) * | 2016-09-26 | 2023-01-10 | Splunk Inc. | Hashing bucket identifiers to identify search nodes for efficient query execution |
US11222066B1 (en) | 2016-09-26 | 2022-01-11 | Splunk Inc. | Processing data using containerized state-free indexing nodes in a containerized scalable environment |
US10984044B1 (en) | 2016-09-26 | 2021-04-20 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system |
US11416528B2 (en) | 2016-09-26 | 2022-08-16 | Splunk Inc. | Query acceleration data store |
US11567993B1 (en) | 2016-09-26 | 2023-01-31 | Splunk Inc. | Copying buckets from a remote shared storage system to memory associated with a search node for query execution |
US11294941B1 (en) | 2016-09-26 | 2022-04-05 | Splunk Inc. | Message-based data ingestion to a data intake and query system |
US11321321B2 (en) | 2016-09-26 | 2022-05-03 | Splunk Inc. | Record expansion and reduction based on a processing task in a data intake and query system |
US10353965B2 (en) | 2016-09-26 | 2019-07-16 | Splunk Inc. | Data fabric service system architecture |
US11615104B2 (en) | 2016-09-26 | 2023-03-28 | Splunk Inc. | Subquery generation based on a data ingest estimate of an external data system |
US11461334B2 (en) | 2016-09-26 | 2022-10-04 | Splunk Inc. | Data conditioning for dataset destination |
US10726009B2 (en) | 2016-09-26 | 2020-07-28 | Splunk Inc. | Query processing using query-resource usage and node utilization data |
US11023463B2 (en) | 2016-09-26 | 2021-06-01 | Splunk Inc. | Converting and modifying a subquery for an external data system |
US11126632B2 (en) | 2016-09-26 | 2021-09-21 | Splunk Inc. | Subquery generation based on search configuration data from an external data system |
US20180089324A1 (en) | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for real-time search |
US11442935B2 (en) | 2016-09-26 | 2022-09-13 | Splunk Inc. | Determining a record generation estimate of a processing task |
CN106708592B (zh) * | 2017-01-25 | 2021-12-03 | 北京鸿智电通科技有限公司 | 一种微控制器以及用于微控制器的代码烧录方法 |
US11550820B2 (en) | 2017-04-28 | 2023-01-10 | Oracle International Corporation | System and method for partition-scoped snapshot creation in a distributed data computing environment |
US10769019B2 (en) | 2017-07-19 | 2020-09-08 | Oracle International Corporation | System and method for data recovery in a distributed data computing environment implementing active persistence |
US12118009B2 (en) | 2017-07-31 | 2024-10-15 | Splunk Inc. | Supporting query languages through distributed execution of query engines |
US11989194B2 (en) | 2017-07-31 | 2024-05-21 | Splunk Inc. | Addressing memory limits for partition tracking among worker nodes |
US11921672B2 (en) | 2017-07-31 | 2024-03-05 | Splunk Inc. | Query execution at a remote heterogeneous data store of a data fabric service |
US11151137B2 (en) | 2017-09-25 | 2021-10-19 | Splunk Inc. | Multi-partition operation in combination operations |
US10896182B2 (en) | 2017-09-25 | 2021-01-19 | Splunk Inc. | Multi-partitioning determination for combination operations |
US10721095B2 (en) | 2017-09-26 | 2020-07-21 | Oracle International Corporation | Virtual interface system and method for multi-tenant cloud networking |
US11176091B2 (en) * | 2017-09-29 | 2021-11-16 | Intel Corporation | Techniques for dynamic multi-storage format database access |
US10862965B2 (en) | 2017-10-01 | 2020-12-08 | Oracle International Corporation | System and method for topics implementation in a distributed data computing environment |
TWI673615B (zh) * | 2018-01-24 | 2019-10-01 | 中華電信股份有限公司 | 用於智慧營運中心之資料檢核系統與方法 |
US11662910B2 (en) * | 2018-02-02 | 2023-05-30 | International Business Machines Corporation | Workload and interface cognizant heat-tiered storage |
US10719508B2 (en) * | 2018-04-19 | 2020-07-21 | Risk Management Solutions, Inc. | Data storage system for providing low latency search query responses |
US11334543B1 (en) | 2018-04-30 | 2022-05-17 | Splunk Inc. | Scalable bucket merging for a data intake and query system |
WO2020220216A1 (en) | 2019-04-29 | 2020-11-05 | Splunk Inc. | Search time estimate in data intake and query system |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
US11494380B2 (en) | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
US11922222B1 (en) | 2020-01-30 | 2024-03-05 | Splunk Inc. | Generating a modified component for a data intake and query system using an isolated execution environment image |
US11704313B1 (en) | 2020-10-19 | 2023-07-18 | Splunk Inc. | Parallel branch operation using intermediary nodes |
US12072939B1 (en) | 2021-07-30 | 2024-08-27 | Splunk Inc. | Federated data enrichment objects |
US12093272B1 (en) | 2022-04-29 | 2024-09-17 | Splunk Inc. | Retrieving data identifiers from queue for search of external data system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877053A (ja) * | 1994-09-08 | 1996-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 複製データベース反映装置及び複製データベース反映方法 |
JP2009266147A (ja) * | 2008-04-30 | 2009-11-12 | Internatl Business Mach Corp <Ibm> | データベースと仮想テーブルの整合性を維持する方法および装置。 |
JP2011050151A (ja) | 2009-08-26 | 2011-03-10 | Aichi Elec Co | 電動機および圧縮機 |
JP2011169588A (ja) | 2011-06-06 | 2011-09-01 | Toshiba Corp | 空調最適制御システム |
JP2011248852A (ja) * | 2010-04-27 | 2011-12-08 | Hitachi Ltd | システム連携装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055382A1 (en) * | 2000-06-28 | 2005-03-10 | Lounas Ferrat | Universal synchronization |
JP3974538B2 (ja) * | 2003-02-20 | 2007-09-12 | 株式会社日立製作所 | 情報処理システム |
JP4374953B2 (ja) * | 2003-09-09 | 2009-12-02 | 株式会社日立製作所 | データ処理システム |
US20070094308A1 (en) * | 2004-12-30 | 2007-04-26 | Ncr Corporation | Maintaining synchronization among multiple active database systems |
US7509467B2 (en) * | 2006-01-13 | 2009-03-24 | Hitachi, Ltd. | Storage controller and data management method |
JP4890048B2 (ja) * | 2006-02-24 | 2012-03-07 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置を用いたデータマイグレーション方法 |
JP4481338B2 (ja) * | 2008-03-28 | 2010-06-16 | 株式会社日立製作所 | バックアップシステム、ストレージ装置及びデータのバックアップ方法 |
JP4874368B2 (ja) * | 2009-06-22 | 2012-02-15 | 株式会社日立製作所 | フラッシュメモリを用いたストレージシステムの管理方法及び計算機 |
EP2534570A1 (en) * | 2010-02-09 | 2012-12-19 | Google, Inc. | Method and system for providing efficient access to a tape storage system |
-
2013
- 2013-03-21 EP EP13765195.6A patent/EP2829976A4/en not_active Withdrawn
- 2013-03-21 JP JP2014506275A patent/JPWO2013141308A1/ja active Pending
- 2013-03-21 US US14/386,946 patent/US20150058293A1/en not_active Abandoned
- 2013-03-21 WO PCT/JP2013/058111 patent/WO2013141308A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877053A (ja) * | 1994-09-08 | 1996-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 複製データベース反映装置及び複製データベース反映方法 |
JP2009266147A (ja) * | 2008-04-30 | 2009-11-12 | Internatl Business Mach Corp <Ibm> | データベースと仮想テーブルの整合性を維持する方法および装置。 |
JP2011050151A (ja) | 2009-08-26 | 2011-03-10 | Aichi Elec Co | 電動機および圧縮機 |
JP2011248852A (ja) * | 2010-04-27 | 2011-12-08 | Hitachi Ltd | システム連携装置 |
JP2011169588A (ja) | 2011-06-06 | 2011-09-01 | Toshiba Corp | 空調最適制御システム |
Non-Patent Citations (5)
Title |
---|
C. MOHAN ET AL.: "ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging", ACM TRANSACTIONS ON DATABASE SYSTEMS (TODS, vol. 17, no. 1, March 1992 (1992-03-01), pages 94 - 162, XP001098645, DOI: doi:10.1145/128765.128770 |
GANGLIA MONITORING SYSTEM, 8 March 2012 (2012-03-08), Retrieved from the Internet <URL:http://monitor.millennium.berkeley.edu> |
KAMIMURA, JUNPEI ET AL.: "Design and Evaluation of a GPU Accelerated Column Store Database", INFORMATION PROCESSING SOCIETY OF JAPAN, IPSJ SIG TECHNICAL REPORT, vol. 2011-HPC, no. 26, 2011, pages 1 - 7 |
KITAGAWA, GENSHIRO: "Introduction to Time Series Modeling", 2005, IWANAMI SHOTEN PUBLISHERS, pages: 120 - 123 |
See also references of EP2829976A4 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018152118A (ja) * | 2013-03-15 | 2018-09-27 | アマゾン・テクノロジーズ・インコーポレーテッド | データベースエンジンを備えたデータベースシステム及び別個の分散型ストレージサービス |
US10592556B2 (en) | 2013-06-14 | 2020-03-17 | International Business Machines Corporation | On-the-fly encoding method for efficient grouping and aggregation |
JP2015172823A (ja) * | 2014-03-11 | 2015-10-01 | 株式会社電通国際情報サービス | 情報処理装置、情報処理方法及びプログラム |
JP2015228165A (ja) * | 2014-06-02 | 2015-12-17 | 三菱電機株式会社 | データ管理装置 |
US10650011B2 (en) | 2015-03-20 | 2020-05-12 | International Business Machines Corporation | Efficient performance of insert and point query operations in a column store |
JP2018513454A (ja) * | 2015-03-20 | 2018-05-24 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | カラム・ストアにおける挿入およびポイント・クエリ・オペレーションの効率的パフォーマンス |
US11061878B2 (en) | 2015-03-20 | 2021-07-13 | International Business Machines Corporation | Parallel build of non-partitioned join hash tables and non-enforced N:1 join hash tables |
US10831736B2 (en) | 2015-03-27 | 2020-11-10 | International Business Machines Corporation | Fast multi-tier indexing supporting dynamic update |
US11080260B2 (en) | 2015-03-27 | 2021-08-03 | International Business Machines Corporation | Concurrent reads and inserts into a data structure without latching or waiting by readers |
US10291703B2 (en) | 2016-05-13 | 2019-05-14 | Fujitsu Limited | Information processing system, method of processing information, and information processing device |
WO2017212525A1 (ja) * | 2016-06-06 | 2017-12-14 | 株式会社日立製作所 | 計算機、及びデータベース処理方法 |
JP2018128881A (ja) * | 2017-02-09 | 2018-08-16 | 富士通株式会社 | 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法 |
KR101903726B1 (ko) * | 2018-05-04 | 2018-10-02 | 주식회사 포딕스시스템 | Cctv 영상 데이터를 분산하여 저장하는 cctv 시스템 |
JP2020095340A (ja) * | 2018-12-10 | 2020-06-18 | 富士通株式会社 | 情報処理システム、負荷分散処理装置および負荷分散処理プログラム |
JP7137072B2 (ja) | 2018-12-10 | 2022-09-14 | 富士通株式会社 | 情報処理システム、負荷分散処理装置および負荷分散処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP2829976A1 (en) | 2015-01-28 |
JPWO2013141308A1 (ja) | 2015-08-03 |
US20150058293A1 (en) | 2015-02-26 |
EP2829976A4 (en) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013141308A1 (ja) | 分散ストレージシステム、ストレージ制御方法およびプログラム | |
CN102521269B (zh) | 一种基于索引的计算机连续数据保护方法 | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
CN106066896B (zh) | 一种应用感知的大数据重复删除存储系统及方法 | |
US9612758B1 (en) | Performing a pre-warm-up procedure via intelligently forecasting as to when a host computer will access certain host data | |
US10789228B2 (en) | Data presence/absence determination apparatus and computer-readable storage medium storing program for determination of data presence/absence | |
US8234470B2 (en) | Data repository selection within a storage environment | |
KR101023585B1 (ko) | 객체기반 스토리지 시스템에서 클라이언트 요청빈도에 따른데이터 관리 방법 | |
Williams et al. | Bridging high velocity and high volume industrial big data through distributed in-memory storage & analytics | |
CN102662992A (zh) | 一种海量小文件的存储、访问方法及装置 | |
KR20100048130A (ko) | 메타데이터 클러스터 기반의 분산형 스토리지 시스템 및 그동작 방법 | |
WO2010084754A1 (ja) | データベースシステム、データベース管理方法、データベース構造および記憶媒体 | |
Wang et al. | Metakv: A key-value store for metadata management of distributed burst buffers | |
Niazi et al. | Size matters: Improving the performance of small files in hadoop | |
CN103501319A (zh) | 一种低延迟的面向小文件的分布式存储系统 | |
Nguyen et al. | Zing database: high-performance key-value store for large-scale storage service | |
WO2013172405A1 (ja) | ストレージシステムおよびデータアクセス方法 | |
Mahgoub et al. | Suitability of nosql systems—cassandra and scylladb—for iot workloads | |
Takatsu et al. | PPFS: A scale-out distributed file system for post-petascale systems | |
Wang et al. | The design of data storage system based on Lustre for EAST | |
Zhu et al. | Time Series Database Optimization Based on InfluxDB | |
CN105677853A (zh) | 一种基于大数据技术框架的数据存储方法及装置 | |
US20180165380A1 (en) | Data processing system and data processing method | |
Liu et al. | masfs: File system based on memory and ssd in compute nodes for high performance computers | |
Iwazume et al. | Big data in memory: Benchimarking in memory database using the distributed key-value store for machine to machine communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13765195 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013765195 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2014506275 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14386946 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |