WO2015170517A1 - インメモリ管理システムおよびインメモリ管理用プログラム - Google Patents

インメモリ管理システムおよびインメモリ管理用プログラム Download PDF

Info

Publication number
WO2015170517A1
WO2015170517A1 PCT/JP2015/058199 JP2015058199W WO2015170517A1 WO 2015170517 A1 WO2015170517 A1 WO 2015170517A1 JP 2015058199 W JP2015058199 W JP 2015058199W WO 2015170517 A1 WO2015170517 A1 WO 2015170517A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
detailed data
database
chart
definition file
Prior art date
Application number
PCT/JP2015/058199
Other languages
English (en)
French (fr)
Inventor
甲 島澤
Original Assignee
ウイングアーク1st株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ウイングアーク1st株式会社 filed Critical ウイングアーク1st株式会社
Publication of WO2015170517A1 publication Critical patent/WO2015170517A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the present invention relates to an in-memory management system and an in-memory management program, and is particularly suitable for use in an in-memory management system that stores data to be processed in a memory and constructs an in-memory database.
  • in-memory technology is a method in which all data to be used is stored in a memory, and processing is executed without using an external storage device such as a hard disk (for example, see Patent Document 1).
  • the memory has a data read / write speed that is about 100,000 times faster than a hard disk. Therefore, if an in-memory technology that does not exchange data with the hard disk is used, data can be read and written at high speed, and processing can be performed at very high speed. As a result, it is possible to perform real-time processing such as shortening data processing, which conventionally takes several hours, to several minutes, or processing generated data instantaneously and returning results.
  • the main application is database operations, but it is attracting attention as an effective technology for companies to quickly extract and analyze useful information from so-called big data.
  • an in-memory database is constructed by expanding data stored in a relational database (RDB) on a hard disk into memory, which data is to be operated in memory is determined at the time of initial design. Then, various processes are executed using data developed from the RDB to the memory according to the design. For example, detailed data representing daily sales performance is expanded in a memory, and the expanded detailed data is used to perform desired aggregation, or various charts such as a line graph and a bar graph are created.
  • RDB relational database
  • the present invention has been made to solve such a problem, and is intended to enable easy operation to construct an in-memory database related to data required for desired aggregation and chart creation. Objective.
  • a simple operation for instructing in-memory at an arbitrary timing when tabulation or chart creation is performed using detailed data stored in the database of the external storage device
  • detailed data relating to tabulation or chart creation that was executed when the operation was performed is stored in the memory from the database of the external storage device.
  • FIG. 1 It is a figure which shows the structural example of the in-memory management system by this embodiment. It is a figure which shows an example of the table of the detailed data stored in a database. It is a block diagram which shows the function structural example with which the terminal by this embodiment is provided. It is a figure which shows an example of the display screen displayed when creating the chart from the detailed data stored in the database. It is a figure which shows an example of the display screen displayed when the detailed data in-memory-ized part of this embodiment is complete
  • FIG. 1 is a diagram illustrating a configuration example of the in-memory management system according to the present embodiment.
  • the in-memory management system according to the present embodiment includes a server 10 having a memory (main storage device) 11, a terminal 20 in which BI (Business Intelligence) software is installed, and a database 30. Configured.
  • BI Business Intelligence
  • the database 30 is configured by an external storage device such as a hard disk, and stores data to be processed (for example, detailed data indicating daily sales results).
  • data to be processed for example, detailed data indicating daily sales results.
  • the detailed data is constituted by a relational database including date, sales amount, sales quantity, store name, store location, product, person in charge, customer, etc. as table items.
  • the terminal 20 constructs an in-memory database by storing all the detailed data of items used for desired processing in the memory 11 among the data stored in the database 30. Then, after constructing the in-memory database, the terminal 20 uses the detailed data stored in the memory 11 without accessing the database 30, and executes desired aggregation processing, chart creation processing, and the like using the BI software.
  • the server 10 stores the detailed data read from the database 30 in the internal memory 11.
  • the detailed data stored in the memory 11 is read and used when a desired process is executed by the BI software of the terminal 20.
  • the detailed data updated as a result of the processing is stored in the memory 11 again.
  • any one having a main storage device such as a personal computer or a tablet terminal may be used.
  • the terminal 20 is assumed to include the BI software, but the present invention is not limited to this.
  • an application server connected to the Internet may be provided, and BI software may be mounted on the application server.
  • the BI software can be used on the Web, and the result processed by the BI software according to the instruction from the client terminal is transmitted via the Internet. Provide to client terminals.
  • FIG. 3 is a block diagram illustrating a functional configuration example provided in the terminal 20 according to the present embodiment.
  • the terminal 20 of the present embodiment includes an application storage unit 21.
  • the terminal 20 is provided with the process execution part 22, the display control part 23, the operation reception part 24, the detailed data in memory formation part 25, and the definition file replication part 26 as the function structure.
  • the functional blocks 22 to 26 can be configured by any of hardware, DSP (Digital Signal Processor), and software.
  • each of the functional blocks 22 to 26 actually includes a CPU, RAM, ROM, etc. of a computer, and is stored in a recording medium such as RAM, ROM, hard disk, or semiconductor memory. Is realized by operating.
  • the functions of the operation reception unit 24, the detailed data in-memory unit 25, and the definition file replication unit 26 are realized by the operation of an in-memory management program.
  • the application storage unit 21 stores BI software (for example, an application such as a digital dashboard, which is a kind of business management tool that makes it possible to visualize and check a business state of a company), and is configured by a hard disk, for example.
  • BI software for example, an application such as a digital dashboard, which is a kind of business management tool that makes it possible to visualize and check a business state of a company
  • the BI software may include an in-memory management program.
  • the process execution unit 22 executes various processes provided by the BI software application stored in the application storage unit 21. Specifically, the process execution unit 22 uses the detailed data stored in the database 30 to perform a desired aggregation process designated by a user operation received by the operation reception unit 24, a user received by the operation reception unit 24 A desired chart creation process designated by the operation is executed.
  • an aggregation definition file representing the contents of the aggregation is generated.
  • the aggregation content defines what aggregation is performed on the detailed data, for example, “Aggregation of Sales Amount by Year / Store”.
  • the total definition file generated by the BI software is held by the BI software itself.
  • the fact that the BI software holds the aggregation definition file means that the aggregation definition file is stored in the application storage unit 21 in association with the BI software stored in the application storage unit 21.
  • a chart definition file representing the contents of the chart is generated.
  • the content of the chart refers to information on properties relating to how the chart is displayed, such as color, thickness, background, legend, scale, and font of characters, in addition to the types of charts such as line graphs and bar graphs.
  • the chart definition file generated by the BI software is held by the BI software itself. That the BI software holds the chart definition file means that the chart definition file is stored in the application storage unit 21 in association with the BI software stored in the application storage unit 21.
  • the process execution unit 22 executes a totaling process and a chart creation process using the detailed data expanded (in-memory) from the database 30 to the memory 11 as an in-memory database.
  • Whether to use detailed data in the database 30 or detailed data in the memory 11 can be freely selected by a user operation.
  • the detailed data in the database 30 can be used until the detailed data is stored in the memory 11 from the database 30 and the detailed data in the memory 11 can be used after the detailed data is converted into the in-memory.
  • the amount of detailed data stored in the database 30 is not so large, even if the database 30 that is an external storage device is accessed for processing, it does not take a long time to stress the user. However, as the amount of detailed data increases through day-to-day operations, the speed of accessing the database 30 and acquiring detailed data decreases accordingly. Therefore, the turnaround time from when the user issues a data processing request to when a response is returned is increased.
  • the process is executed using the detailed data in the database 30 when the detailed data amount is not yet large. If the user feels that the processing speed has slowed down as the amount of data increases, the detailed data in the database 30 is stored in-memory in the memory 11 in accordance with the user operation, and after the in-memory is performed, the memory 11 The process is executed using the detailed data.
  • the process execution unit 22 When the detailed data is converted into in-memory, the process execution unit 22 generates a totaling definition file stored in the application storage unit 21 (totaling the detailed data in the database 30 until the in-memory processing is performed). Based on the copy of the recorded data). When the detailed data is converted into in-memory, the process execution unit 22 creates a chart from the detailed data in the database 30 before the conversion to in-memory. It is also possible to perform a chart creation process based on a copy of what is generated by doing so. Details regarding this will be described later.
  • the display control unit 23 controls to display the result of the process execution by the process execution unit 22 on a display (not shown). That is, the display control unit 23 causes the detailed data to be aggregated, a chart created from the detailed data, and the like to be displayed on the display. In addition, the display control unit 23 causes the display to display an operation screen for storing the detailed data stored in the database 30 in the memory 11. Further, when the detailed data stored in the database 30 is stored in-memory in the memory 11, the display control unit 23 displays a screen indicating the result on the display.
  • FIG. 4 is a diagram illustrating an example of a display screen displayed on the display by the display control unit 23.
  • a line graph 31 is displayed by the display control unit 23 as a result of the chart creation process by the process execution unit 22.
  • This line graph 31 is obtained by processing the detailed data stored in the database 30.
  • Various operation buttons are displayed on the right side of the line graph 31.
  • This operation button includes an in-memory button 32 for instructing in-memory.
  • the display method of the in-memory button 32 is not limited to this. For example, it may be displayed in a menu bar provided at the top of the screen.
  • the operation accepting unit 24 accepts various user operations on the terminal 20. That is, the operation reception unit 24 receives an operation for instructing execution of various processes (including various aggregations of detailed data and chart creation) that can be executed by the BI software. In addition, the operation reception unit 24 receives an operation for storing the detailed data stored in the database 30 in the memory 11. As a feature of the present embodiment, the operation accepting unit 24 converts the data stored in the database 30 of the external storage device into in-memory on a screen (see FIG. 4) that is tabulated or charted by BI software. , That is, an operation of pressing the in-memory button 32 is accepted.
  • the detail data in-memory creating unit 25 stores the detailed data related to tabulation or chart creation executed by the process executing unit 22 at that time. 30 and stored in the memory 11.
  • Detail data related to tabulation or chart creation is the detail data used for tabulation or chart creation, and grouping according to the contents of the tabulation or chart creation (corresponding to “GROUP BY” in the SQL statement) ) Means the data in the state. For example, when the in-memory button 32 is pressed in a state where the total sales amount by year is displayed, the detailed data in-memory unit 25 groups the daily sales amount by year, Detailed data of the item of sales amount is stored in the memory 11 in-memory.
  • the definition file duplicating unit 26 represents the content of the summary definition file or the chart representing the content of the summary being executed by the process executing unit 22 at that time.
  • a copy of the chart definition file is generated from the original definition file held by the BI software in the application storage unit 21.
  • the definition file duplicating unit 26 associates the duplicate of the generated definition file with the detailed data stored in the memory 11 by the detailed data in memory unit 25 and causes the BI software to hold it.
  • the fact that the BI software holds a copy of the definition file in association with the detailed data stored in the memory 11 is stored in the memory 11 in association with the BI software stored in the application storage unit 21. That is, a copy of the definition file is stored in the application storage unit 21 in a state in which the detailed data is linked.
  • a copy of the definition file is stored in the application storage unit 21, but may be stored in the memory 11.
  • the process execution unit 22 uses the detailed data stored in the memory 11 by the detailed data-in-memory unit 25. Then, the process of counting or chart creation based on the definition file copied by the definition file copying unit 26 is executed. Aggregation or chart creation in this case may be automatically performed when the detailed data in-memory unit 25 completes the in-memory detailed data, or there is a user operation instructing execution. Sometimes it can be done.
  • FIG. 5A shows a case where the display control unit 23 displays the detailed data in-memory when the detailed data in-memory conversion unit 25 completes the in-memory processing when the aggregation or chart creation processing is executed according to the user operation. It is a figure which shows an example of the display screen displayed. In the example of FIG. 5A, in-memory detailed data 41 is displayed in a table format as a result of the in-memory implementation by the detailed data in-memory unit 25.
  • a chart creation button 42 is displayed on the right side of the detail data 41.
  • the chart creation button 42 is displayed at the end of in-memory creation when the in-memory creation button 32 is pressed while the chart is displayed on the screen as shown in FIG. If the in-memory button 32 is pressed while any tabulation result is displayed on the screen in the form of a table, the tabulation execution button is displayed on the right side of the detailed data 41 when the in-memory processing is completed. Is displayed.
  • FIG. 5B is a diagram illustrating an example of a screen displayed on the display as a result of execution of the chart creation process by the process execution unit 22.
  • a line graph 43 is displayed by the display control unit 23 as a result of the chart creation process by the process execution unit 22.
  • the line graph 43 is obtained by processing the detailed data stored in the memory 11 in accordance with the contents of the copied chart definition file.
  • the line graph 43 is exactly the same as the line graph 31 shown in FIG. 4 (obtained by processing the detailed data stored in the database 30 before the in-memory processing).
  • the chart creation is performed by the processing execution unit 22 in response to pressing of the chart creation button 42, as shown in FIG. 6, the original line graph 31 created from the detailed data in the database 30 and the memory 11
  • a line graph 43 created from the in-memory detailed data is displayed side by side, and a delete button 51 is displayed on the right side of the original line graph 31.
  • the delete button 51 is pressed, the detailed data related to the creation of the line graph 31 is deleted from the database 30. In this way, it is possible to extract and easily delete only the detailed data that has been made in-memory out of the detailed data of various items stored in the database 30.
  • an operation for in-memory instruction is performed on a screen (see FIG. 4) on which aggregation or chart creation is performed using detailed data stored in the database 30 of the external storage device. Is performed, the detailed data related to the totaling or chart creation is acquired from the database 30 and stored in the memory 11.
  • aggregation or chart creation can be performed using the detailed data stored in the database 30 without first designing which data from the database 30 is to be in-memory.
  • a simple operation such as pressing the in-memory button 32 at an arbitrary timing
  • the detailed data relating to tabulation or chart creation that was executed when the operation was performed is stored in memory. be able to.
  • the detailed data in the database 30 can be stored in the memory 11 by pressing the in-memory button 32 in FIG.
  • the aggregation definition file representing the contents of the aggregation displayed on the screen when the in-memory button 32 is pressed or the chart definition file representing the contents of the chart is the original definition file. And the duplicate is held in association with the detailed data stored in the memory 11.
  • the in-memory database is constructed by developing the detailed data necessary for tabulation and chart creation from the database 30 to the memory 11 at any timing considered necessary by the user, and tabulation is performed. And chart creation can be done with simple operations.
  • a copy is created for the in-memory detailed data separately from the original totaling definition file or chart definition file corresponding to the totaling or chart created from the detailed data in the database 30.
  • the original definition file may be used when creating a summary or chart from the in-memory detailed data without creating a copy, but it is preferable to create a copy.
  • the contents of the definition file are updated accordingly. If it does so, the content of the total and the chart created from the detailed data stored in the memory 11 will also change unintentionally. In order to avoid such unintended aggregation and chart change, it is preferable to duplicate the definition file for the in-memory detailed data.
  • the present invention is not limited to this. That is, the detailed data may be stored in the memory 11 in exactly the same state as that stored in the database 30. However, if the detailed data is stored in the memory 11 in a grouped state, it is not necessary to re-execute the “GROUP ⁇ BY” of the SQL statement when performing aggregation or chart creation using the detailed data. Increases speed. In this respect, it is preferable to store the detailed data in the memory 11 in a grouped state.

Landscapes

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

Abstract

 データベース30に格納された明細データを用いて集計またはチャート作成を行っている画面において、インメモリ化を指示する操作が行われた場合、集計またはチャート作成に関わる明細データをデータベース30から取得してメモリ11に格納することにより、データベース30からどの明細データをインメモリ化するかを最初に設計して明細データのインメモリ化をあらかじめ行っておかなくても、インメモリ化を指示する簡単な操作を任意のタイミングで行うだけで、明細データをインメモリ化することができるようにする。

Description

インメモリ管理システムおよびインメモリ管理用プログラム
 本発明は、インメモリ管理システムおよびインメモリ管理用プログラムに関し、特に、メモリに対して処理対象のデータを格納してインメモリデータベースを構築するインメモリ管理システムに用いて好適なものである。
 一般に、パソコンやサーバでは、ハードディスクなどの外部記憶装置にデータが格納されており、当該データが必要に応じてメインメモリ(主記憶装置)上に展開されて、処理が行われる。これに対して、最近では、メモリのビット単価(容量当たりの価格)の低下に伴い、いわゆるインメモリ技術が使われ始めている。インメモリ技術とは、使用するデータのすべてをメモリ上に格納し、ハードディスクなどの外部記憶装置を使わずに処理を実行する方式である(例えば、特許文献1参照)。
 メモリは、ハードディスクと比べてデータの読み書き速度が10万倍程度も速い。そのため、ハードディスクとの間でデータのやり取りが発生しないインメモリ技術を用いれば、データの読み込みや書き出しを高速に行うことができ、処理を非常に高速に実行することが可能である。これにより、従来は数時間かかっていたデータ処理を数分に短縮したり、発生したデータを瞬時に処理して結果を返したりするといったリアルタイム処理が可能となる。現在の主な用途はデータベースの演算であるが、いわゆるビッグデータから企業が有益な情報を素早く抽出・分析するのに有効な技術として注目を集めている。
 なお、上記特許文献1の出願当時、メモリは使用できる容量が十分に大きくなかったため、容量に限りがあるメモリに対してどのような条件で、いかにしてインメモリデータベースを構築するかが課題となっていた。この課題に対して、特許文献1に記載の発明では、補助記憶装置データベース上のレコードの各項目に対応して定義されたテーブル情報からメインメモリへ配置する項目のみを連結してレコードを短く編集し、ハッシュ法により各レコード上のキーを変換して得たレコード番号をメインメモリに格納するようにしている。
特開平7-334402号公報
 通常、ハードディスクのリレーショナルデータベース(RDB)に格納されたデータをメモリに展開してインメモリデータベースを構築する場合、どのデータをインメモリで運用するかを最初の設計時に決める。そして、その設計に従ってRDBからメモリに展開したデータを用いて種々の処理を実行する。例えば、日々の売上実績を表す明細データをメモリに展開し、展開した明細データを用いて所望の集計をしたり、折れ線グラフや棒グラフなどの各種チャートを作成したりする。
 このように、従来は、インメモリデータベースを構築する際には、どのデータをインメモリで運用するかを最初に設計し、その設計に従って、RDBからメモリに対する明細データの取り込みを行う必要があった。そのため、設計から明細データの取り込みまで多くの手間がかかるという問題があった。
 本発明は、このような問題を解決するために成されたものであり、所望の集計やチャート作成に必要なデータに関するインメモリデータベースの構築を簡単な操作で行うことができるようにすることを目的とする。
 上記した課題を解決するために、本発明では、外部記憶装置のデータベースに格納された明細データを用いて集計またはチャート作成を行っている画面において、インメモリ化を指示する操作が行われた場合、集計またはチャート作成に関わっている明細データを外部記憶装置のデータベースから取得してメモリに格納するようにしている。
 上記のように構成した本発明によれば、外部記憶装置のデータベースに格納された明細データを用いて集計またはチャート作成を行っている任意のタイミングで、インメモリ化を指示するための簡単な操作を行うだけで、当該操作が行われたときに実行されていた集計またはチャート作成に関わる明細データが外部記憶装置のデータベースからメモリに格納される。これにより、外部記憶装置のデータベースからどのデータをインメモリ化するかをあらかじめ設計しておかなくても、任意のタイミングで、所望の集計やチャート作成に必要なデータに関するインメモリデータベースの構築を簡単な操作で行うことができるようになる。
本実施形態によるインメモリ管理システムの構成例を示す図である。 データベースに格納される明細データのテーブルの一例を示す図である。 本実施形態による端末が備える機能構成例を示すブロック図である。 データベースに格納された明細データからチャートを作成している際に表示される表示画面の一例を示す図である。 本実施形態の明細データインメモリ化部による明細データのインメモリ化が終了したときに表示される表示画面の一例を示す図である。 メモリに格納された明細データからチャートを作成した際に表示される表示画面の変形例を示す図である。
 以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態によるインメモリ管理システムの構成例を示す図である。図1に示すように、本実施形態によるインメモリ管理システムは、メモリ(主記憶装置)11を備えたサーバ10と、BI(Business Intelligence)ソフトがインストールされた端末20と、データベース30とを備えて構成されている。
 データベース30は、ハードディスクなどの外部記憶装置により構成されており、処理対象のデータ(例えば、日々の売上実績を示す明細データ)が格納されている。この明細データは、例えば図2に示すように、日付、売上金額、販売数量、店舗名、店舗所在地、商品、担当者、顧客などをテーブルの項目として含むリレーショナルデータベースにより構成されている。
 端末20は、このデータベース30に格納されているデータのうち、所望の処理に使用する項目の明細データのすべてをメモリ11に格納することにより、インメモリデータベースを構築する。そして、インメモリデータベースを構築した後、端末20は、データベース30にアクセスすることなく、メモリ11に格納された明細データを用いて、BIソフトによって所望の集計処理やチャート作成処理などを実行する。
 例えば、日付をキーとして年別、月別の売上金額を集計したり、店舗名をキーとして店舗別の売上金額を集計したりすることが可能である。さらに、これらの集計結果から折れ線グラフや棒グラフなどのチャートを作成することも可能である。年別、月別の売上金額を集計する場合は、少なくとも日付および売上金額の項目の明細データ(図2においてハイライトした部分のデータ)をインメモリ化すればよい。
 サーバ10は、データベース30から読み出された明細データを内部のメモリ11に格納する。このメモリ11に格納された明細データは、端末20のBIソフトで所望の処理を実行する際に読み出され、使用される。そして、その処理の結果更新された明細データが、再びメモリ11に格納される。なお、ここではサーバとしているが、パーソナルコンピュータやタブレット端末など、主記憶装置を備えているものであれば何れを用いてもよい。
 また、ここでは端末20がBIソフトを備えるものとしているが、これに限定されない。例えば、端末20に代えて、インターネット上に接続されたアプリケーションサーバを備え、当該アプリケーションサーバにBIソフトを実装するようにしてもよい。この場合、図示しないクライアント端末からインターネットを介してアプリケーションサーバにアクセスすることにより、BIソフトをWeb上で利用可能とし、クライアント端末からの指示に応じてBIソフトで処理した結果を、インターネットを介してクライアント端末に提供するようにする。
 図3は、本実施形態による端末20が備える機能構成例を示すブロック図である。図3に示すように、本実施形態の端末20は、アプリケーション記憶部21を備えている。また、端末20は、その機能構成として、処理実行部22、表示制御部23、操作受付部24、明細データインメモリ化部25および定義ファイル複製部26を備えている。
 上記各機能ブロック22~26は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック22~26は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。特に、操作受付部24、明細データインメモリ化部25および定義ファイル複製部26の機能は、インメモリ管理用プログラムが動作することによって実現される。
 アプリケーション記憶部21は、BIソフト(例えば、企業のビジネスの状態を視覚化し確認できるようにするビジネス管理ツールの一種であるデジタルダッシュボードなどのアプリケーション)を記憶するものであり、例えばハードディスクにより構成される。なお、ここでは各機能ブロック24~26の機能を実現するインメモリ管理用プログラムをBIソフトとは別に備える例を示しているが、BIソフトがインメモリ管理用プログラムを含む構成としてもよい。
 処理実行部22は、アプリケーション記憶部21に記憶されているBIソフトのアプリケーションによって提供される種々の処理を実行する。具体的には、処理実行部22は、データベース30に格納されている明細データを用いて、操作受付部24により受け付けられるユーザ操作により指定された所望の集計処理、操作受付部24により受け付けられるユーザ操作により指定された所望のチャート作成処理を実行する。
 明細データを用いて所望の集計処理を行うと、その集計の内容を表す集計定義ファイルが生成される。集計内容とは、例えば、「年別・店舗別の売上金額の集計」のように、明細データに対してどのような集計を行うかを定義したものである。BIソフトによって生成された集計定義ファイルは、BIソフト自身が保持する。BIソフトが集計定義ファイルを保持するというのは、アプリケーション記憶部21に記憶されているBIソフトに関連付けて集計定義ファイルをアプリケーション記憶部21に記憶するということである。
 また、明細データを用いて所望のチャート作成処理を行うと、そのチャートの内容を表すチャート定義ファイルが生成される。チャートの内容とは、折れ線グラフや棒グラフなどのチャートの種類の他、色、太さ、背景、凡例、目盛、文字のフォントなどチャートの見せ方に関するプロパティの情報を指す。BIソフトによって生成されたチャート定義ファイルは、BIソフト自身が保持する。BIソフトがチャート定義ファイルを保持するというのは、アプリケーション記憶部21に記憶されているBIソフトに関連付けてチャート定義ファイルをアプリケーション記憶部21に記憶するということである。
 また、処理実行部22は、データベース30からメモリ11にインメモリデータベースとして展開(インメモリ化)された明細データを用いて、集計処理やチャート作成処理を実行する。データベース30の明細データと、メモリ11の明細データとのどちらを使うかは、ユーザ操作によって自由に選ぶことができる。例えば、明細データをデータベース30からメモリ11にインメモリ化するまでの間はデータベース30の明細データを用い、インメモリ化した後はメモリ11の明細データを用いることが可能である。
 データベース30に格納される明細データのデータ量がまだそれほど大きくない場合、外部記憶装置であるデータベース30にアクセスして処理を行っても、ユーザにストレスを与えるほど長い時間はかからない。しかし、日々の業務を通じて明細データのデータ量が肥大化していくと、それに伴い、データベース30にアクセスして明細データを取得する速度が低下していく。そのため、ユーザがデータ処理のリクエストを出してからレスポンスが返ってくるまでのターンアラウンドタイムが長くなってしまう。
 そこで、次のような運用が可能である。すなわち、明細データのデータ量がまだ大きくない段階ではデータベース30の明細データを用いて処理を実行するようにする。そして、データ量の肥大化に伴って処理速度が遅くなってきたとユーザが感じたら、ユーザ操作に応じてデータベース30の明細データをメモリ11にインメモリ化し、インメモリ化を行った後はメモリ11の明細データを用いて処理を実行するようにする。
 明細データのインメモリ化を行ったとき、処理実行部22は、アプリケーション記憶部21に記憶されている集計定義ファイル(インメモリ化を行うまでの間にデータベース30の明細データを集計することによって生成されたものの複製)に基づいて、集計処理を行うことが可能である。また、明細データのインメモリ化を行ったとき、処理実行部22は、アプリケーション記憶部21に記憶されているチャート定義ファイル(インメモリ化を行うまでの間にデータベース30の明細データからチャートを作成することによって生成されたものの複製)に基づいて、チャート作成処理を行うことも可能である。なお、これに関する詳細は後述する。
 表示制御部23は、処理実行部22による処理実行の結果を図示しないディスプレイに表示するように制御する。すなわち、表示制御部23は、明細データの集計結果、明細データから作成されたチャートなどをディスプレイに表示させる。また、表示制御部23は、データベース30に格納されている明細データをメモリ11にインメモリ化する際の操作画面をディスプレイに表示させる。また、表示制御部23は、データベース30に格納されている明細データをメモリ11にインメモリ化したときに、その結果を示す画面をディスプレイに表示させる。
 図4は、表示制御部23によりディスプレイに表示される表示画面の一例を示す図である。図4の例では、処理実行部22によるチャート作成処理の結果として、表示制御部23によって折れ線グラフ31が表示されている。この折れ線グラフ31は、データベース30に格納された明細データを処理することによって得られたものである。また、当該折れ線グラフ31の右側には、各種操作ボタンが表示されている。この操作ボタンの中には、インメモリ化を指示するためのインメモリ化ボタン32が含まれている。なお、インメモリ化ボタン32の表示方法はこれに限定されない。例えば、画面上部に設けたメニューバーの中に表示させてもよい。
 操作受付部24は、端末20に対するユーザの各種操作を受け付ける。すなわち、操作受付部24は、BIソフトで実行可能な各種処理(明細データの各種集計やチャート作成を含む)の実行を指示するための操作を受け付ける。また、操作受付部24は、データベース30に格納されている明細データをメモリ11にインメモリ化するための操作を受け付ける。本実施形態における特徴として、操作受付部24は、外部記憶装置のデータベース30に格納された明細データを用いてBIソフトにより集計またはチャート作成を行っている画面(図4参照)において、インメモリ化を指示する操作、つまりインメモリ化ボタン32の押下操作を受け付ける。
 明細データインメモリ化部25は、操作受付部24がインメモリ化ボタン32の押下操作を受け付けた場合、そのとき処理実行部22により実行されている集計またはチャート作成に関わっている明細データをデータベース30から取得してメモリ11に格納する。集計またはチャート作成に関わっている明細データとは、その集計またはチャート作成に使われている明細データであって、その集計またはチャート作成の内容に応じてグルーピング(SQL文の“GROUP BY”に相当)された状態のデータをいう。例えば、年別の売上金額の集計結果が表示された状態でインメモリ化ボタン32が押下された場合、明細データインメモリ化部25は、日々の売上金額を年別にグルーピングした状態で、日付および売上金額の項目の明細データをメモリ11にインメモリ化する。
 定義ファイル複製部26は、操作受付部24がインメモリ化ボタン32の押下操作を受け付けた場合、そのとき処理実行部22により実行されている集計の内容を表す集計定義ファイルまたはチャートの内容を表すチャート定義ファイルの複製を、アプリケーション記憶部21においてBIソフトが保持しているオリジナルの定義ファイルから生成する。そして、定義ファイル複製部26は、生成した定義ファイルの複製を、明細データインメモリ化部25によりメモリ11に格納された明細データに紐付けてBIソフトに保持させる。
 ここで、メモリ11に格納された明細データに紐付けて定義ファイルの複製をBIソフトが保持するというのは、アプリケーション記憶部21に記憶されているBIソフトに関連付けて、メモリ11に格納された明細データに紐付けをした状態で定義ファイルの複製をアプリケーション記憶部21に記憶するということである。なお、ここでは定義ファイルの複製をアプリケーション記憶部21に記憶させることとしているが、メモリ11に記憶させるようにしてもよい。
 上述したように、インメモリ化ボタン32の押下に応じて明細データのインメモリ化を行ったとき、処理実行部22は、明細データインメモリ化部25によりメモリ11に格納された明細データを用いて、定義ファイル複製部26により複製された定義ファイルに基づく集計またはチャート作成の処理を実行する。この場合の集計またはチャート作成は、明細データインメモリ化部25による明細データのインメモリ化が終了したときに自動的に行うようにしてもよいし、実行することを指示するユーザ操作があったときに行うようにしてもよい。
 図5(a)は、ユーザ操作に応じて集計またはチャート作成の処理を実行する場合に、明細データインメモリ化部25による明細データのインメモリ化が終了したときに表示制御部23によりディスプレイに表示される表示画面の一例を示す図である。図5(a)の例では、明細データインメモリ化部25によるインメモリ化の結果として、インメモリ化された明細データ41がテーブル形式で表示されている。
 また、明細データ41の右側には、チャート作成ボタン42が表示されている。このチャート作成ボタン42は、図4のようにチャートが画面上に表示されているときにインメモリ化ボタン32が押下されたときに、インメモリ化の終了時に表示されるものである。もし、何らかの集計結果がテーブル形式で画面上に表示されているときにインメモリ化ボタン32が押下された場合は、インメモリ化が終了したときに、明細データ41の右側には集計実行ボタンが表示される。
 チャート作成ボタン42の押下操作を操作受付部24が受け付けると、処理実行部22は、メモリ11に格納された明細データを用いて、定義ファイル複製部26により複製されたチャート定義ファイルに基づくチャート作成の処理を実行する。図5(b)は、この処理実行部22によるチャート作成処理の実行の結果ディスプレイに表示される画面の一例を示す図である。
 図5(b)の例では、処理実行部22によるチャート作成処理の結果として、表示制御部23によって折れ線グラフ43が表示されている。この折れ線グラフ43は、メモリ11に格納された明細データを、複製されたチャート定義ファイルの内容に従って処理することによって得られたものである。この折れ線グラフ43は、図4に示した折れ線グラフ31(インメモリ化を行う前に、データベース30に格納された明細データを処理することによって得られていたもの)と全く同じとなっている。
 ところで、明細データのインメモリ化を行った後は、データベース30にアクセスすることなく、メモリ11に格納された明細データを用いて各種の処理を実行することが可能となる。よって、データベース30に格納されている元の明細データは削除してもよい。データベース30に格納されている元の明細データの削除を容易に行うことができるように、削除を指示するための操作ボタンを設けるようにしてもよい。
 例えば、チャート作成ボタン42の押下に応じて処理実行部22によってチャート作成が行われたときに、図6に示すように、データベース30の明細データから作成された元の折れ線グラフ31と、メモリ11にインメモリ化された明細データから作成された折れ線グラフ43とを並べて表示し、元の折れ線グラフ31の右側に削除ボタン51を表示させる。そして、この削除ボタン51が押下された場合、折れ線グラフ31の作成に関わっている明細データをデータベース30から削除する。このようにすれば、データベース30に格納されている種々の項目の明細データのうち、インメモリ化が済んだ明細データのみを抽出して簡単に削除することができる。
 以上詳しく説明したように、本実施形態では、外部記憶装置のデータベース30に格納された明細データを用いて集計またはチャート作成を行っている画面(図4参照)において、インメモリ化を指示する操作が行われた場合、その集計またはチャート作成に関わっている明細データをデータベース30から取得してメモリ11に格納するようにしている。
 このように構成した本実施形態によれば、データベース30からどのデータをインメモリ化するかを最初に設計しておかなくても、データベース30に格納された明細データを用いて集計またはチャート作成を行っている任意のタイミングで、インメモリ化ボタン32を押下するといった簡単な操作を行うだけで、当該操作が行われたときに実行されていた集計またはチャート作成に関わる明細データをインメモリ化することができる。
 例えば、データベース30に格納される明細データのデータ量の肥大化に伴って処理速度が遅くなってきたとユーザが感じたタイミングで、インメモリ化したい明細データの集計結果やチャートが表示されている画面においてインメモリ化ボタン32を押下することにより、データベース30の明細データをメモリ11にインメモリ化することができる。
 また、本実施形態では、データベース30に格納された明細データを用いて集計またはチャート作成を行っている画面(図4参照)において、インメモリ化を指示する操作が行われた場合、その集計の内容を表す集計定義ファイルまたはチャートの内容を表すチャート定義ファイルの複製をオリジナルの定義ファイルから生成し、当該複製をメモリ11に格納された明細データに紐付けて保持するようにしている。
 このように構成した本実施形態によれば、インメモリ化ボタン32が押下されたときに画面表示されていた集計の内容を表す集計定義ファイルまたはチャートの内容を表すチャート定義ファイルがオリジナルの定義ファイルから複製され、当該複製が、メモリ11に格納された明細データに紐付けて保持される。この定義ファイルの複製を用いれば、インメモリ化された明細データを用いて集計やチャート作成をするために面倒な操作をユーザが改めて一から行う必要がなく、データベース30から作成されていた元の集計またはチャートと同じものを簡単に生成することができる。
 図4のように作成された集計またはチャートに関わる明細データをインメモリ化しようとする場合、従来は、データベース30の中のどのデータをインメモリ化するかの設計を行い、その設計に従って必要なデータをデータベース30からメモリ11に展開する必要があった。さらに、新たに展開した明細データを用いて、集計やチャート作成のための操作も改めて行わなければならなかった。
 これに対して、本実施形態によれば、インメモリ化ボタン32を押下するだけで、インメモリ化から集計またはチャート作成までを自動的に行うことが可能である。または、インメモリ化ボタン32の押下に応じてインメモリ化を行った後、集計実行ボタンまたはチャート作成ボタン42の押下のみで、集計またはチャート作成を行うようにすることも可能である。
 以上のように、本実施形態によれば、ユーザが必要と考える任意のタイミングで、集計やチャート作成に必要な明細データをデータベース30からメモリ11に展開してインメモリデータベースを構築し、かつ集計やチャート作成までを簡単な操作で行うことができる。
 なお、上記実施形態では、データベース30の明細データから作成された集計やチャートに対応するオリジナルの集計定義ファイルまたはチャート定義ファイルとは別に、インメモリ化された明細データ用に複製を作成している。複製を作成せずに、インメモリ化された明細データから集計やチャートを作成する際にもオリジナルの定義ファイルを利用するようにしてもよいが、複製を作成するのが好ましい。
 インメモリ化を行った後に、データベース30の明細データを利用して集計やチャートの内容を変更すると、それに合わせて定義ファイルの内容も更新される。そうすると、メモリ11に格納された明細データから作成された集計やチャートの内容も意図せず変わってしまう。このような意図しない集計やチャートの変更を回避するために、インメモリ化された明細データ用に定義ファイルを複製するのが好ましい。
 また、上記実施形態では、データベース30の明細データをインメモリ化する際に、明細データをグルーピングした状態でメモリ11に格納する例について説明したが、本発明はこれに限定されない。すなわち、データベース30に格納されているのと全く同じ状態で明細データをメモリ11に格納するようにしてもよい。ただし、明細データをグルーピングした状態でメモリ11に格納しておけば、その明細データを用いて集計やチャートの作成を行う際に、SQL文の“GROUP BY”を改めて実行する必要がなく、処理速度が上がる。この点で、明細データをグルーピングした状態でメモリ11に格納するのが好ましい。
 また、上記実施形態では、インメモリ化ボタン32の押下操作に応じてインメモリ化する明細データとして、そのときの集計またはチャート作成に関わっている項目の明細データを例に挙げて説明したが、本発明はこれに限定されない。例えば、そのときの集計またはチャート作成に直接関わっている項目のみに限定せず、その項目を含むテーブル全体の明細データ(図2に示すテーブルの全体)を、集計またはチャート作成に関わっている明細データとしてインメモリ化するようにしてもよい。
 その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
 10 サーバ
 11 メモリ(主記憶装置)
 20 端末
 21 アプリケーション記憶部
 22 処理実行部
 23 表示制御部
 24 操作受付部
 25 明細データインメモリ化部
 26 定義ファイル複製部
 30 データベース(外部記憶装置)

Claims (5)

  1.  外部記憶装置のデータベースからメモリに明細データを格納してインメモリデータベースを構築するインメモリ管理システムであって、
     上記外部記憶装置のデータベースに格納された明細データを用いてアプリケーションソフトにより集計またはチャート作成を行っている画面において、インメモリ化を指示する操作を受け付ける操作受付部と、
     上記操作受付部が上記インメモリ化の操作を受け付けた場合、上記集計またはチャート作成に関わっている明細データを上記外部記憶装置のデータベースから取得して上記メモリに格納する明細データインメモリ化部とを備えたことを特徴とするインメモリ管理システム。
  2.  上記操作受付部が上記インメモリ化の操作を受け付けた場合、上記集計の内容を表す集計定義ファイルまたは上記チャートの内容を表すチャート定義ファイルの複製を、上記アプリケーションソフトが保持しているオリジナルの定義ファイルから生成し、当該複製を上記メモリに格納された明細データに紐付けて保持する定義ファイル複製部を更に備えたことを特徴とする請求項1に記載のインメモリ管理システム。
  3.  上記明細データインメモリ化部により上記メモリに格納された明細データを用いて、上記定義ファイル複製部により複製された定義ファイルに基づく集計またはチャート作成の処理を実行する処理実行部を更に備えたことを特徴とする請求項2に記載のインメモリ管理システム。
  4.  外部記憶装置のデータベースからメモリに明細データを格納してインメモリデータベースを構築するためのインメモリ管理用プログラムであって、
     上記外部記憶装置のデータベースに格納された明細データを用いてアプリケーションソフトにより集計またはチャート作成を行っている画面において、インメモリ化を指示する操作を受け付ける操作受付手段、および
     上記操作受付手段が上記インメモリ化の操作を受け付けた場合、上記集計またはチャート作成に関わっている明細データを上記外部記憶装置のデータベースから取得して上記メモリに格納する明細データインメモリ化手段
    としてコンピュータを機能させるためのインメモリ管理用プログラム。
  5.  上記操作受付手段が上記インメモリ化の操作を受け付けた場合、上記集計の内容を表す集計定義ファイルまたは上記チャートの内容を表すチャート定義ファイルの複製を、上記アプリケーションソフトが保持しているオリジナルの定義ファイルから生成し、当該複製を上記メモリに格納された明細データに紐付けて保持する定義ファイル複製手段
    として上記コンピュータを更に機能させることを特徴とする請求項4に記載のインメモリ管理用プログラム。
PCT/JP2015/058199 2014-05-07 2015-03-19 インメモリ管理システムおよびインメモリ管理用プログラム WO2015170517A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014095971A JP5944945B2 (ja) 2014-05-07 2014-05-07 インメモリ管理システムおよびインメモリ管理用プログラム
JP2014-095971 2014-05-07

Publications (1)

Publication Number Publication Date
WO2015170517A1 true WO2015170517A1 (ja) 2015-11-12

Family

ID=54392371

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/058199 WO2015170517A1 (ja) 2014-05-07 2015-03-19 インメモリ管理システムおよびインメモリ管理用プログラム

Country Status (2)

Country Link
JP (1) JP5944945B2 (ja)
WO (1) WO2015170517A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6963433B2 (ja) 2017-07-21 2021-11-10 株式会社日立情報通信エンジニアリング 行動特徴量解析システムおよび行動特徴量解析方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099114A1 (ja) * 2010-02-09 2011-08-18 株式会社ターボデータラボラトリー ハイブリッド型データベースシステム及びその動作方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099114A1 (ja) * 2010-02-09 2011-08-18 株式会社ターボデータラボラトリー ハイブリッド型データベースシステム及びその動作方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"10g Release2(10.1.2.0.0) for Microsoft", ORACLE BUSINESS INTELLIGENCE DISCOVERER DESKTOP USERS GUIDE, January 2005 (2005-01-01), pages 4 - 9 -4-21 *
"10g Release2(10.1.2.1)B25070-01", ORACLE BUSINESS INTELLIGENCE DISCOVERER PLUS USERS GUIDE, September 2005 (2005-09-01) *
"Korekara wa In-memory Database ga Atarimae ni naru/Kozo no nai Data nante Sonzai shinai(1/2", TECHNOLOGY DE BUSINESS O KASOKU SURU TAMENO JISSEN WEB MEDIA ENTERPRISEZINE (EZ, 24 March 2014 (2014-03-24) *

Also Published As

Publication number Publication date
JP2015212913A (ja) 2015-11-26
JP5944945B2 (ja) 2016-07-05

Similar Documents

Publication Publication Date Title
JP7460689B2 (ja) スプレッドシートに基づくソフトウェアアプリケーション開発
US20220164527A1 (en) Templating process for a multi-page formatted document
US9152631B2 (en) Document management system, method for controlling the same, and storage medium
AU2020260374B2 (en) Building reports
US9652203B1 (en) Application development framework using configurable data types
JP2022041865A (ja) テンプレートに基づくエクセル文書のオンライン作業システム
US9846635B2 (en) Making production data available for testing in a non-production environment
EP4022452A1 (en) Document tracking through version hash linked graphs
JP2015197826A (ja) 情報処理装置、情報処理方法及びプログラム
JP5794568B2 (ja) データ編集装置およびデータ編集方法
US10942732B1 (en) Integration test framework
JP5944945B2 (ja) インメモリ管理システムおよびインメモリ管理用プログラム
JP6355542B2 (ja) 情報処理装置、その処理方法及びプログラム
JP6320901B2 (ja) データ連携支援システムおよびデータ連携支援方法
JP2018109898A (ja) データマイグレーションシステム
JP5351746B2 (ja) データ処理装置及び方法
JP2010061200A (ja) 文書管理システム及び操作履歴表示方法
CN114201258B (zh) 复制粘贴的方法、装置、计算机设备和存储介质
JP2010128892A (ja) データベース生成装置、データベース生成方法及びコンピュータプログラム
JP7006469B2 (ja) データ連携プログラム、データ連携システムおよびデータ連携方法
US20160210373A1 (en) Configurable data analysis using a configuration model
US20120330983A1 (en) Data processing system
JP2003122892A (ja) 課題管理システム、ホームページサーバーおよびコンピュータ読み取り可能な課題管理システム用の記録媒体
US9436727B1 (en) Method for providing an integrated macro module
JP2020149654A (ja) 2d/3d図形ファイルの自動生成および表示/動作させる方法

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: 15789623

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15789623

Country of ref document: EP

Kind code of ref document: A1