WO2012113756A1 - Method and system for providing statistical from a data warehouse - Google Patents
Method and system for providing statistical from a data warehouse Download PDFInfo
- Publication number
- WO2012113756A1 WO2012113756A1 PCT/EP2012/052872 EP2012052872W WO2012113756A1 WO 2012113756 A1 WO2012113756 A1 WO 2012113756A1 EP 2012052872 W EP2012052872 W EP 2012052872W WO 2012113756 A1 WO2012113756 A1 WO 2012113756A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- index
- data
- input file
- index field
- bins
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
Definitions
- the present invention relates generally to data warehouses and business intelligence in general and more specifically addresses the problem of expediting data retrieval to process in real time queries from a large repository of data in view of providing statistical data.
- This invention is about special in-memory data structures that permit a significant speed up in the response time of statistical Online Analytical Processing (OLAP) queries over large volumes of data typically used in business intelligence.
- OLAP Online Analytical Processing
- a relational database is a collection of tables, with defined relations between them, under the control of a specific relational database management system (RDBMS) and equipped with a structured query language (SQL) so that information can be stored, updated and retrieved efficiently.
- RDBMS relational database management system
- SQL structured query language
- Other models exist like a hierarchical model. Whichever model is used, a collection of databases need to be further organized when the overall amount of data to store and organize grows significantly.
- Data warehouses and data marts are the repositories set up by any large organization to hold their strategic operational and business data.
- the way a warehouse is organized has much to do with business intelligence.
- the warehouse structure and tools devised to extract, transform and load data from/to the repository along with the presentation and reporting of the retrieved information are key to allow any thorough analysis of its contents so that all warehouse users can make informed decisions in spite of the huge amount of data that may have to be involved.
- a GDS is any of a few large travel service providers which support, on a world-wide basis, all the actors of the travel industry including airlines, hotel chains, car rental companies, traditional travel agencies, other online travel service providers, etc.
- a GDS is for example AMADEUS, a European travel service provider with headquarters in Madrid, Spain.
- GDS's have thus to keep track, from their large storing, computing and networking resources, of data regarding possibly millions of travelers, thousands of travel agencies and online service providers and tenths of airline and transportation companies.
- any GDS needs to set up numerous large databases holding such things as all the schedules of the transportation companies supported, the myriad of fares they provide that are updated on a daily basis, and all the ticketing data of millions of travelers.
- Statistics may also be provided to end-users as a service that facilitates their purchases. Statistics often require analyzing huge amount of data spread in the numerous databases forming the data warehouse of an organization such as an airline or a GDS
- the invention describes a method for providing statistical data from a data warehouse involving one or more data storage means and one or more processor coupled to the data storage means.
- index fields - hierarchically ordering the index fields; - defining bins, each bin being associated to an index field and gathering one or more index field values for that index field;
- indexes by concatenating one or more bins in compliance with the hierarchy of hierarchically ordered index fields to form a sequence of bins, an index comprising only one bin per index field;
- each index having zero or more children indexes or and having at most one parent index, so that each child index comprises the same sequence of bins as the index of its parent index plus at least an additional bin associated to an additional index field;
- each index • providing each index with a data container configured to store statistical data, so that each data container is indexed and is directly addressable from within the files hierarchically indexed;
- each individual record comprising at least an attribute and the one or more input file parameters characterizing said attribute
- the method comprises an additional optional step of receiving a query and for each query using one or more processors programmed for: - identifying in the query one or more query field and at least one query field value associated to the query field;
- statistical data relate to a frequency distribution or measures of a central tendency of the distribution or measures of the dispersion of the distribution.
- statistical data are based on statistical data related to prices actually paid by travelers for transportation services.
- the invention may comprise any one of the optional following features:
- index fields are at least one of the following: city of origin, country of origin, geographical area of origin, city of destination, country of destination, geographical area of destination, cultural destination, sport activity, gastronomy, wildlife observation, entertainment, departure date by exact departure date, departure period by month, departure period by week, return date by exact date, return period by month, return period by week, duration of the trip after arrival, advance purchase category.
- At least an index having no parent index is created by concatenating at least two bins.
- an index that has no parent index includes a bin associated to an index field related to the city of origin, a bin associated to an index field related to the duration of the trip before departure and a bin associated to an index field related to the week of departure of a flight.
- a bin gathers some index field values related to one of the following: cities of origin, cities of departure, departure dates, departure weeks, return dates, return weeks, number of days for trip duration, number of days for advance purchase.
- at least an index having no parent index comprises only one bin.
- an input file is an electronic ticket of a transportation service and comprises at least a coupon embodying all information for a segment of the transportation.
- the attribute is the price actually paid for each ticket or coupon.
- the input file parameters describe at last one of the following fields: city or origin, city of departure, departure date, return date, departure date, return date, trip duration, number or days between booking and departure.
- a query field relates to at last one of the following fields: city of origin, country of origin, geographical area of origin, city of destination, country of destination, geographical area of destination, cultural destination, sport destination, gastronomy, wildlife observation, entertainment, departure date by exact departure date, departure period by month, departure period by week, return date by exact date, return period by month, return period by week, duration of the trip after arrival, number or days between booking and departure.
- index field value can be associated to a plurality of index fields.
- an index field value that describes a city of destination is associated to at least two of the following index fields: city of origin, country of origin, geographical area of origin, cultural destination, sport activity, gastronomy, wildlife observation, entertainment.
- the method according to the invention may include any one of the following features and steps:
- - creating individual records includes the steps of: assigning a date or week or month or semester or year to each individual record, the date corresponding to the reception of the input file; storing the individual record in data storage means.
- - updating the data containers with the individual records includes the steps of: creating batches of individual records having the same dates or having same date periods; updating the data containers by batch of individual records. - updating does not require computation of all previous records. Thus, a minimal computation is required.
- the statistics are updates at the end of each day after receiving all input files. It permits each day's transaction data to be seamlessly integrated into the range of data that should be available for use the next day, without undoing the computation that was made until the previous day.
- index field values and attributes are integer numbers, decimal numbers or intervals are updated with appropriate counts or new values.
- the invention may include the following steps: reading the dates of stored individual records; identifying prior individual records assigned with a date older than a given date; locating through the input file parameters of these identified prior individual records the data containers that were updated with these identified prior individual records; updating the located data container by deleting these identified prior individual records. More precisely, the data container is updated by incrementally deleting the located data containers with the attribute of the identified prior individual records. Deleting a record does not require computation of all previous records. Thus, a minimal computation is required to discard past data and maintain the statistics data relevant without discarding past computations.
- - incrementally updating the identified data containers comprises the step of incrementally computing updated statistical data from previously computed statistical data and from the at least one attribute of said individual records.
- a data container is identified for an update by an input file in case said data container is indexed with a number of bins that is equal or inferior to the number of input file parameters and provided each of these one or more bins correspond to an input file parameter of said input file.
- each input file parameter of an individual record corresponds to a bin but there is a combination of one or more bins corresponding to said input file parameter that does not correspond to an index, then creating an additional data container indexed with this combination of one or more corresponding bins; updating the additional data container with said individual record.
- NBO0532 will be created.
- the attributes of that individual record will update the data containers indexed with the following indexes: NBO, NBO05 and the newly created NBO0532.
- indexes for each business entity are created and separate precomputations create different files over which queries can be made.
- the query admits wildcard as query field value for one or more query field. Wildcard are designated "*" in the present invention.
- the wildcard means that only the * or the wildcard bin of the index field corresponding to that query field is searched. Therefore, for a query with the query field values NBO, *, 32, the invention locates all containers having indexes with bins NBO and 32 for the first and third index fields and the * or wildcard bin of the second index. This is one of the reasons for query speedup. Searching all bins response would have been slow. By aggregating search combinations at data transformation time a massive computation time is saved during lookup time.
- the query admits a wildcard query field value for one or more query field, and the wildcard query field value means that the statistics corresponding to a wildcard bin for that index field will be searched. More precisely, the method comprises the steps of creating indexes through forming a sequence of one or more bins, at least one of these bins accepting all index field values for index field. Such bin is called a wildcard bin. Therefore, the invention automatically creates additional indexes and data containers with indexes less specific.
- NCE 01 52 it is the index for the grouped details of all trips that were booked from NCE with a trip type of 01 and on the 52nd week of the year.
- NCE 06 02 is the index for the grouped details of all trips that were booked from NCE with a trip type of 6 and on the 02nd week of the year.
- the invention creates wildcard indexes during the indexing process.
- NCE*52 is the index for the grouped details of all trips of any trip type that were booked from NCE on the 52nd week of the year
- NCE2** is the index for the grouped details of all trips of type 2 that were booked from NCE on any of the 52 weeks of the year
- NCE*** is the index for the grouped details of all trips of any trip type that were booked from NCE on any of the 52 weeks of the year.
- the star also designated wildcard indicates that all index field values are accepted. The wildcard could also be represented by the index value "all».
- NCE*** includes all of the records for each NCE xx DD where xx is any given value for the second index field (e.g.; trip type) and DD is any given for the third index field (e.g. week number of the year). This feature allows retrieving responses to large scale queries in constant time.
- Another object of the present invention is a method and a system for gathering statistical data from a data warehouse comprising one or more databases, wherein the gathered statistical data are held in a plurality of indexed flat files, the method characterized in that it comprises the steps of: gathering the statistical data into category bins; incrementally updating the category bins; hierarchically indexing the flat files as trees of indexes; defining a primary index at root of each tree of indexes; addressing directly from indexes either a container of statistical data or another index.
- the method and the system comprise at least any one of the facultative features and steps:
- the indexed flat files are imported and kept resident into the main memory of a computerized serving platform.
- the queries from end-users are exhaustively served from the plurality of indexed flat files kept resident in the main memory of the computerized serving platform.
- the statistical data are gathered at scheduled intervals from the data warehouse.
- the statistical data are actual fare prices paid by travelers to be transported on airline flights.
- the category bins are: an origin of a flight, a destination of a flight, a trip type, a start week and an advance purchase category.
- the primary index includes the origin, the trip type and the start week of a flight.
- the flat file indexes include the destination of a flight and the advance purchase category.
- Another object of the invention is a computer program product stored on a non- transitory computer readable storage medium, comprising computer readable code means instructed for causing at least one microprocessor to operate the method for providing statistical data according to any one of the previously described steps.
- the computer program product is provided through an on-line web site.
- Another object of the present invention relates to a system for creating statistical data in a data warehouse comprising processing means and one or more data storage means coupled to the processing means.
- the system is characterized in that the data storage means and the processing means are arranged to carry out the following steps of:
- each index • providing each index with a data container configured to store statistical data, so that each data container is indexed and is directly addressable from within the files hierarchically indexed;
- the system also comprises means for receiving a query and configured to perform the following steps for each query using through one or more processors programmed for: identifying in the query one or more query field and at least one query field value associated to the query field; establishing a correspondence between each query field and an index field; establishing a correspondence between each query field value and a bin of each index field corresponding to said one or more identified query field defining thereby a set of bins corresponding to the query; searching and identifying a relevant data container indexed with an index that comprises the set of bins corresponding to the query; retrieving and sending to the user the statistical data of the identified relevant container, thereby, allowing a retrieval of statistical data in response to a end-user query, independently of the volume of data involved, and within an elapsed time in the order of a small number of milliseconds.
- the invention thereby allows responding in a very short time to sophisticated queries i.e. queries that involve the fetching of huge amounts of information like the gathering and computation of daily statistical data.
- Another object of the invention is a computer program product stored on a non- transitory computer readable storage medium, comprising computer readable code means instructed for causing at least one microprocessor to operate the method for providing statistical data according to any one of the previously described steps.
- the invention provides a system to create, store, incrementally update and retrieve statistical data computed from a large number of raw data.
- these statistical data may for instance relate to a frequency distribution; measures of a central tendency of the distribution e.g. mean or median; measures of dispersion of the distribution e.g. standard deviation; nature of the distribution itself as identified by percentiles/quantiles etc.
- measures of a central tendency of the distribution e.g. mean or median
- measures of dispersion of the distribution e.g. standard deviation
- Such statistical data are not limitative.
- the nature of the data to be studied through statistics is also not limitative.
- a typical example concerns statistics concerning the price of any given product or service on sale or paid by customers.
- a particularly advantageous application of the invention concerns statistical data concerning the price of transport ticket actually paid by passengers.
- Index fields listed below and in the described examples are chosen for sake of understanding but are not limitative.
- an index field is the value that an index field can be assigned from within a predefined value domain.
- the value can be a numeral (number of days) or an alphanumeric code that represents a certain entity or a collection of them (e.g. an airport or a city or a destination theme).
- An index field value will usually be of pre- decided designated fixed length. For instance, when analyzing statistics concerning the price of a travel coupon:
- the index field value for the index field 'origin' may be one of the following:
- the index field value for the index fields 'city of destination', 'geographical area', 'wildlife observation', 'railway museums' that relate to the objective of the travel may be 'Nairobi' for instance.
- the index field value for the index fields 'exact date of departure', 'week of departure', 'month of departure' that relate to the departure date may be '14 June 2007'.
- the index field value for the index field 'trip type category' or 'trip duration' may be one of the following: 1 day, 3 days, 2 weeks, 1 month and 3 days etc.
- the index field value for the index field 'advance purchase category' may be one of the following: 1 day, 3 days, 2 weeks, 1 month etc.
- the index field value could be a wild card designated by repeating *'s of appropriate fixed length. This is like a catch-all index value, whose meaning corresponds to the don't-care symbol typical in computing.
- a bin mathematically represents the domain within which the value of an index field is guaranteed to be assigned within.
- the label assigned to a bin appears as the index field value to an index field and corresponds to this length. This is also true even if the index field value corresponds to a collection but then the meaning of that label is no more a single entity but represents a discrete collection of values or continuous set that may be denoted by the extremities of a numeric range. For instance, the index field 'departure period by month' can have its domain defined discretely as integers within the range 1-12, 12 bins, that will coarsely classify every date in the year into one bin label that lies between 1 and 12.
- the index fields 'wildlife observation' or 'thematic destination' can have a bin 'safari' that corresponds to cities that are good start points for safaris.
- the bin 'safari' can gather the index field values 'Nairobi', 'Mara Serena', 'Gaborone' and other cities located near national parks famous for their safaris etc.
- Input file records, attributes, data containers
- An input file is a file that is received by the system and that contains the original data set, raw data, to be analyzed by the system.
- the system analyses the input file and retains, deletes or transforms attributes of records in it into appropriate index field values that corresponds to a predefined collection of index fields that is relevant for associating with the parameter whose statistics are to be provided by the system as a result in response to a query. All data in the input file are designated as raw data before they are analyzed.
- a record is nothing but a tuple of attributes, from which a set of index field values or the parameter whose statistics we want to know can be defined and then computed.
- each coupon is a record just like a row in a table or spreadsheet, where the column headers of the table correspond to many attributes like origin, destination, departure date, ticketing date, PNR date, cabin class, fare class etc - some of which are chosen to be the index fields, e.g. origin, destination of interest to index a given parameter, e.g. price, whose statistics we are interested in.
- a transformation process operates over the attribute values on the original data set to arrive at transformed index field values of the chosen index fields.
- the transformation process utilizes the original data set attributes called departure date and PNR date (or ticketing date) to arrive at the value of the "number of days to departure" index field as departure date - PNR date or as Departure date - Ticketing date.
- each record is a path within a tree of indices. Many records in the original data set map to a single record in the transformed data set.
- the first level index field is an origin airport, due to huge numbers of several origin airports encountered in each of the coupons being parsed, multiple index values branch out as index field values for each origin airport. If the second level is the destination airport then multiple index field values branch out for each destination airport for a given origin airport, resulting in a 2 level tree.
- each origin-destination index pair there are multiple prices possible.
- multiple prices branch out from each destination node resulting in the third level of the tree.
- the price-frequency count pair for an index path in that tree is called the "data container" - in effect it stores a distribution of different prices of all original records that have the same index field values, e.g. NCE-NYC, as the origin-destination city.
- the (origin, destination collection) pair and the (destination, price collection) pair are termed as 'index container'.
- 'index container' any arbitrary path in the tree starting at the root that is complete (up to the leaf) or incomplete (not up to the leaf) is in general referred to as a container.
- a query is filled and sent by a user to obtain statistics related to the data to be statistically analyzed.
- the query may comprise one or more search criteria designated "query field value" in the present invention.
- a query may be very complex when comprising a large number of query field values or basic when comprising one or few query field values.
- Query fields are parameters that characterize the query. Each query field value relates to a query field. Each query field corresponds to an index field. When there is no index field that corresponds to a query field value, optional steps are conducted. These optional steps are detailed below.
- a given query field value corresponds to a bin of the index field corresponding to the query field of the given query field value.
- the query field value may be similar to an index field value (real value or descriptive value), may be comprised in a bin of the index field or may be equal to a bin of the index field.
- a query interface may accept user input, that input must be transformed into a string of query field values, by first transforming exact inputs into appropriate bin values of the index fields that are exactly in the same order of indices that was used to create the transformed data set for itself.
- advantageous features of the invention are: - Store, index and reason over groups of records (i.e. business relevant containers) instead of individual records.
- the invention has the ability to store, index, retrieve and reason over groups of records without having to store the individual atomic records.
- RAM Random Access Memory
- indexes are combinatorial with one of the values of a given indexing variable being the wildcard character * whose meaning is "don't care". In relational database terms this means pre-computing the results for all possible joins of relevant tables.
- FIGURE 1 illustrates an exemplary result of the kind of queries that are intended to be processed in real time from the data structure of the invention.
- FIGURE 2 describes how data pre-fetched from the warehouse databases are organized to allow a real time access to the stored information.
- FIGURE 3 shows how the entry keys are remembered and organized to allow a fast access to the computed statistical data of the data structure.
- FIGURE 4 shows the overall architecture of a system according to the invention allowing a fast indexing, retrieval and display of statistical data collected from a data warehouse.
- FIGURE 5 discusses performances of a system according to the invention.
- FIGURE 6 discusses the incremental updating of the indexed files from the incoming raw data.
- Figure 1 illustrates an exemplary result of the kind of queries that are intended to be processed in real time from the data structure of the invention.
- Figure 1 also illustrates an example of a display of statistical data provided in response to this kind of queries.
- the queries allowed by the data structure of the invention are indeed very different from those issued to regular relational data base (e.g., SQL queries). They mainly differ in that they do not imply any post processing that would be otherwise required because, to obtain the exemplary display of Figure 1 , individual items of many relational database tables would have to be gathered and processed instead.
- regular relational data base e.g., SQL queries
- the values are either descriptive textual codes or numerals as defined previously.
- An important parameter of interest for the travel industry is the book-ahead or advance purchase time 1 19 that are arranged in eight bins as shown. All are considered in this exemplary display so that the bar graph 110 shows the frequency of occurrences versus the prices of actual bookings registered and paid between the origin and destination airline cities specified.
- all standard statistical numbers characterizing this distribution can be computed and displayed 112 as well, including: mean value, standard deviation, min and max values, etc.
- the user may want to further refine the display to show only the departures on a certain date 125, considering only a certain type of trip duration 127 and for book- ahead times of two weeks or less so that the bar graph displayed becomes as shown 120.
- the data structure of the invention To be able to display and update this kind of query in real time the data structure of the invention, described in details in the following figures, must pre-fetch, compute and organize the data structure from the data warehouse so that all necessary pieces are readily available to be quickly displayed when queried.
- the data structure In the context of the description used to illustrate the invention, the airline travel industry, and for the exemplary kind of sophisticated requests shown 1 10, the data structure is organized so that all airlines cities and airport around the world are possibly supported providing also direct entries in the data structure to allow the display of the other chosen parameters like the departure dates, trip durations, book-ahead times, etc. Additionally, wildcard parameters are possible so that the user has the freedom of not specifying certain parameters like the departure date.
- the data structure offers the possibility of including, for example, generic origins and destinations so that the user may want to see the bookings of all the flights from, say, a precise origin, e.g., Helsinki to a certain region of the world, say, all the cities and airports in North America.
- the data structure of the invention can be used as well by the end-user of travel applications that would be made available online to allow travel forecasting. Since the data used are actual prices, extracted from GDS databases, thus paid by travelers for booking flights, their gathering and display as shown in Figure 1 becomes a very valuable tool. Tool that can be used to estimate the price of a future trip and determine choices of a traveler taking advantage of the features mentioned above. For example, the possibility of not to have to select precise dates and/or not to have to select a precise origin or destination add a large degree of freedom to today travel sites.
- origin and destination include, e.g., thematic destinations that may have nothing in common as far as geography is concerned.
- origin and destination include, e.g., thematic destinations that may have nothing in common as far as geography is concerned.
- Such a theme could be, for example, the ancient civilizations that would include the pyramids of Egypt and the ones of pre-Columbian people in Mexico and Latin America. As defined above, the ancient civilizations could correspond to a dedicated index field value and a query field value.
- the retrieval process to display statistical results in response to a query of the kind discussed above is nearly independent of the volume of data involved and is in the order of a small number of milliseconds. Similar response times are guaranteed even for queries relating to ad-hoc parametric subsets of the distribution and display allows easy visual comparison of the sub-distribution sets in user selectable ways.
- Figure 2 describes how data pre-fetched from the warehouse databases are organized to allow a real time access to the stored information.
- a compression of the pre-fetched data records is performed by regrouping them in a finite number of data categories, designated bins in the present description and best adapted for the type of business considered, i.e., the airline industry in the example chosen to illustrate the invention.
- the pre-fetched data consists then in retrieving from the warehouse all the ticketing data records or coupons (in reference to the printed ticket coupon which is now dematerialized) that are daily issued through various selling channels including the travel agencies, the online travel service providers and the airline offices themselves.
- the advance purchase date is a very significant parameter for the travel industry. They are traditionally regrouped in only 8 standard bins as follows:
- Another compression step is achieved by regrouping trip types in also 8 standard bins as illustrated below. This permits a vast collapse of data space from a 365 * 364 dimension considering every day of the year as departure or arrival to an 8 dimensional data space.
- a third compression step is obtained by considering only the 52 weeks of a year for the departure dates instead of individual days so that each weekday falls into one of the 52 week bins of the year. Thus a 365 dimension data space is compressed to a 52 dimension space.
- the next step is to define the primary index or entry key for the data structure.
- the way the primary key is structured is adapted to the context in which the invention is described, i.e., the airline industry. Other arrangements are obviously possible.
- the primary key is a first level index obtained by concatenating:
- the primary key is the main entry key to address a lookup table taking the form of a flat file of text strings, possibly very long strings, each holding in a compressed way the computed statistical data computed from the raw data pre-fetched from the warehouse and matching this primary key, an example of which is shown in Figure 2.
- compression algorithms could be used to further compress the text strings and reduce the storage requirements so that even the largest data structures can be entirely held in the main memory of a computer guaranteeing a very fast access to any of the entry keys.
- 201 there are three primary keys shown: 201 , 202 and 203.
- the first one is a primary key with wildcard characters in the week index field. This primary key thus regroups statistical data of all flights of type 5 departing from Kenya, Kenya (NBO) during any week of the year.
- the text string is thus pretty long. It ends as shown 205.
- Each string contains secondary keys that define the boundaries of the computed statistical data per destination and advance purchase or book-ahead bins so that they can be addressed directly after the index of the corresponding key within the string have been retrieved as explained in Figure 3 hereafter.
- All the second level keys of string 201 are shown 210. They represent all the destinations for which flight bookings have been retrieved from the data warehouse for the corresponding primary key 201. Like for the origin, destinations cities and airports are represented by their 3- letter IATA code. Each three letter IATA code is an index field value of the index field 'city of origin'.
- a third level indexing is done with the advance purchase bin codes previously defined, i.e.: a number between 0 and 7 as shown 220.
- the computed statistical data are held in containers like 230 bounded by any two keys.
- Figure 3 shows how the entry keys are remembered and organized to allow a fast access to the computed statistical data of the data structure.
- Each primary key is at the root of a search tree 300.
- the tree is exemplified with the simple text string 301.
- the primary index, the first level key 310, is then NB0532 meaning that this lookup table entry is indexing all flights from NBO (Nairobi, Kenya) that were of trip type 5 for a departing date that belonged to the 32 nd week of the year as previously explained.
- a primary index of a tree is a parent index for all the indexes of this tree.
- each of the indexes with destination airports is a child index for the primary index. More generally and as usually admitted in this technical filed, for a given index of a tree, a parent index is an index of that tree that is closer to the root of the tree than the given index. For said given index, a child index is an index of that tree that is farther to the root of the tree than the given index.
- a given index can possibly have a plurality of parent indexes and a plurality of child indexes.
- each advance purchase category is addressed separately with the third level keys 330.
- the third level key is the bin code 6 which indicates the statistics for this advance purchase bin.
- the statistics for this container 335 is the data block: 104347-0-104347-104347-3-0; and the frequency distribution for this data is 104347-3.
- These numbers are values of the states of statistical parameters up to the n th row computed and correspond to M n , V n , S n appearing in the formulas later as well as some other incremental states that are used to compute M n +i , V n +i , S n+ i .
- a series of key trees (one per primary key), like the one shown 300, is generally the most convenient structure used to allow a fast retrieving of the entry keys so that containers within the multidimensional lookup table can be addressed directly thus retrieved in close to constant time.
- Other organisational structures could however be considered as well including a graph or a network of nodes.
- Indexes are used as the primary keys to RAM (random access memory) resident embedded indexed tables Indexed tables are used because they are known fast methods of randomly accessing indexed storage. They permit constant time or near constant time or, at worse, logarithmic time access like a random access to an array in a conventional programming language like C, C++ for example. This significantly contributes to the invention speed.
- the invention embodies a memory-CPU bus which also contributes to the speed of statistical data processing and retrieval.
- An index like NB0532 for instance, could be visualized and implemented using various different methods according to the invention.
- an index can be visualized and treated as a hierarchy of indexes fields or indices.
- NB0532 can be considered as the following hierarchy: NBO->5->32.
- other potential nodes could potentially emanate from NBO at the 3 rd index level (e.g. NBO->5->41 o r
- NB0 ⁇ 5 ⁇ 45 NB0532, NB0541 and NB0545 are child index of NB05.
- other potential nodes could potentially emanate from NBO at the 2 nd index level (e.g.
- NB0 ⁇ 4 ⁇ 28 or NB0 ⁇ 4 ⁇ 26 are child index of NBO.
- the root has no parent index.
- the leaf has no children index also referred to as a child index.
- hierarchically ordering the fields means that a hierarchy of fields is determined. This hierarchy is freely determined, preferably according to the queries that are expected.
- Hierarchically indexing the files as a tree of indexes means that each file can be placed in a tree according to the hierarchical ordered of its index.
- Origin is greater than the hierarchy of the field related to the trip type. Further, the hierarchy of the field related to the trip type is greater than the hierarchy of the filed related to the start week. For instance, as depicted in Figure 3, the field related to the Origin, trip type and start week is hierarchically greater than the field related to the destination airport which is in turn hierarchically greater than the field related to the advance purchase category.
- the files are indexed according to their index with the same hierarchical order as the fields.
- the index NB0532 is for instance hierarchically greater than the following indexes
- the file indexed with the index NB0532 is therefore closer to the root than the files indexed with the following indexes: NB0532+DXB, NB0532+KGL, NBO532+DXB+category0, NBO532+KGL+category0. Accordingly, the index NB0532+DXB is for instance hierarchically greater than the index NBO532+DXB+category0.
- the indexes are flattened and the index is a composite - in the sense that NB0532 is treated as a single index without any hierarchy.
- NB0428 or NB0426 for example are no longer the hierarchic child of NBO, but are independently roots of other trees.
- indexes where some parts of the entire chain of dimensions that the index structure represents (e.g. origin ⁇ trip-type- ⁇ start-week- ⁇ destination- ⁇ advance- purchase- ⁇ price- ⁇ frequencyOfPrices) are a mix of hierarchic and flattened indices.
- This is index is referred to as a hybrid index.
- origin-Mrip-type- ⁇ start-week as a flattened index (e.g. NB0532), i.e., with no hierarchy and the remainder of the dimensions (e.g. destination and advance-purchase) as hierarchical.
- the hierarchic representation will consume more memory than the flattened one, but will be able to satisfy more diverse statistical queries.
- the contrary is true for the flattened index, which generally provides less flexibility but requires less memory.
- an index turns out to be a path in a tree or a degenerate path, i.e. in case of one dimension or one flattened composite dimension.
- Binning discussed above with detailed examples for trip-type and advance purchase, reduces memory requirements by reducing the branching factor of the current dimension (e.g. trip-type) and reducing the combinatorial explosion effect on the branching factors of the dimensions that follow in the indexing scheme (e.g. start-week- ⁇ destination- ⁇ advance-purchase).
- a key aspect of the present invention is to create an associative data structure in memory that links this elaborate transportation service provider domain dependent data indexing scheme with its respective statistical containers - where these indexes are created and its respective statistical data containers are populated at the time of batch pre-processing.
- Data containers can be attached to these indexes at the levels of the chosen indexation and thus one can get statistics exactly for those value combinations of the indexes - amounting to user specified query. It is in this way that a variety of queries like "Where can I go from Nice" or "What are the prices to destinations from NCE on 32 nd week of the year" can be answered with extreme rapidity.
- FIG. 4 shows the overall architecture of a system according to the invention allowing a fast indexing, retrieval and display of statistical data collected from a data warehouse.
- the application software implementing the invention is assumed to be run from a computerized platform 410.
- the software application is here referred to as typical price aggregator or TPA 420. It produces the files, 432 typically flat files of statistical data that are indexed as explained in the previous figures to allow a fast retrieval of the statistical containers.
- a file that is indexed is also referred to as an indexed file.
- the incoming raw data on which the aggregator works are, in this exemplary implementation of the invention, the coupons files 434 that are for instance accumulated on a daily basis into the various databases run by the GDS to support its network of customers.
- coupons are booked by remotely connected travel agents 440 from affiliated travel agencies, airline travel offices in town or from airports, and also directly from travelers using online travel sites supported by the GDS.
- the indexed flat files are updated at scheduled intervals, for example once a day, so that coupon files and any data necessary to generate the indexed flat files are downloaded 436 accordingly from the storing and computing facilities implementing the GDS data warehouse 410 where all daily transactions have been registered. They are stored in a repository 430 typically a FTP repository.
- the indexed flat files have been generated and/or updated by the aggregator application 420 from the latest transferred coupon files they are stored in a repository and are imported 452 to be stored and processed by the computing resources of a server 450.
- the server is aimed at responding to the queries of the various end-users of aggregator application, e.g. the management team and professionals in charge of a company that need to gather statistical data from the data warehouse company and all regular travel agencies and customers when aggregator application is made available as a valuable tool to enhance the services offered by traditional travel online sites and traditional travel agencies.
- the processing of their queries is done by implementing any of the standard software means that have been developed to carry out the traditional client/server model of the Internet.
- the end-users 460 are typically running one of the available client browsers on their terminal and personal computers so that they can communicate with the appropriate front-end application 458 of the server.
- the invention manages to keep the size of the data structure previously described small enough to fit entirely in the main memory of the server.
- the set of indexed flat files can stay permanently in the fast main memory 454 made of RAM (random access memory) in order to expedite the processing of the end-user queries through the web services layer 456.
- Figure 5 discusses performances of the typical price aggregator.
- the first diagram 510 shows the typical amount of data processed over one month of operation by the aggregator. It compares the amount of raw data processed, i.e., the overall size of the daily received coupon files accumulating over one month 512, versus the resulting size of the indexed flat files 514 computed. Hash tree storage grows at a pace of 118 Mb/month versus feed (coupon files) at 10 Gb/month. However, the plot shows that at the end of the month the processed data reaches 2 Gigabytes.
- the processing time of the incoming coupon files, the raw data is typically what is shown by diagram 520.
- the overall processing time required by the aggregator application to index the flat files does not exceed one hour per month.
- the total time required is represented by the upper curve 522.
- the intermediate curve 524 shows proportion of the total time that is spent in transforming the raw values of attributes to the index field bin values.
- Lower curve 526 shows the proportion of the total time used to compute and insert a path in the existing tree of indices.
- Diagram 530 serves is the proof of the frequency distribution representation and its benefits. It shows that starting with an empty tree on the first day of processing as we process more and more data the slope of the number of containers (index paths in the tree) in the transformed dataset decreases. This is because at start of processing, when we have an empty tree a large number of new origin-destination- price paths which aren't there are vigorously added. With a small number of dimensions, soon these paths reach close to full coverage that is for the cross product of the number of origin cities times the number of destination cities times the number of possible start weeks times the number of possible trip types - thanks also to a small number of carefully selected business significant bins for trip type and start weeks only.
- V n+ i V n + (x n+ i+ M n+ i) 2 + n(M n+ i 2 - Mn 2 - M n+ l M n ) M n+ i computed
- Figure 6 discusses the incremental updating of the indexed files from the incoming raw data, i.e.: the coupon files.
- the raw coupon file records 610 are reconstructed into tickets by a process resulting in individual ticket records.
- Two individual records 620 are shown 620.
- Each raw input file 610 and individual record 620 comprises an attribute (8000 KES, 25 USD) and input file parameters (NBO, KIS, BLM, 2007-Jul-OI , 2007-Jul-02, 04 etc.).
- Each input file parameter corresponds to an index field (city of origin, city of destination, departure date, arrival date, type of travel, advance purchase group etc).
- the individual records 620 are not grouped yet on figure 6.
- the first field 621 is the ticket number; the fifth field 625 gathers most input file parameters and is a concatenated representation of all the hierarchical index fields: origin, trip type bin, start week, destination and advance purchase bin, all in this sequence.
- Ticket records for each day are saved in separate files named by the date. Whenever this ticket record is created it updates the primary indexes NBO027, NBOO**, NBO*27 and NBO*** if they exist. Since the master indexed table is already loaded in memory this takes 0(1) or constant time. If any of the indexes do not exist they are created, just an additional record in the master indexed table. Depending on the internal implementation this may take 0(1) time or 0(log n) time where n is the number of records in the indexed table. Note that 0(log n) time increases the time for index creation if it does not exist and has nothing to do with search and retrieval time.
- the embedded destination table is searched for key KIS which was also part of the original key. If that does not exist it is created, if it exists it is identified. This time is also 0(1 ) or 0(log n). As soon as the KIS key is identified the statistics record for all advance purchase categories is updated. This update also takes 0(1) time due to moving average, moving standard deviation and moving percentile like mathematical formulas that are used for incremental update.
- the finding of the right integer price bin for updating the frequency distribution is also possible in constant time. This is because the frequency distribution is also a table indexed by the prices. Also, prices are recorded with respect to currency of origin. The appropriate conversion is made. So, in this case, the first record had a price of 8000 KES (local currency of Kenya, Kenyan Shillings). If 8000 already exists in the frequency distribution its frequency is updated by incrementing the value by 1 , else a new entry in the frequency distribution table is created with the key 8000 and a value of 1.
- the size of the frequency distribution table is naturally controlled by the fares paid which in turn is dependent on the fare classes of the airline. For any given origin and destination this is a small number.
- relational databases enable retrieving each individual raw record. If users are interested only in general properties of certain groups or subgroups of data, computation at query time significantly increases response time.
- the invention proposes to identify business relevant groups and subgroups and pre-compute in large scale, the desired properties for them. This is one key characteristic of the invention that distinguishes itself from the relational database approach.
- an online travel system can greatly enhance traveller and travel agent ability to plan trip irrespective of travel parameters. Advantages of the invention over existing systems will be further highlighted through the following questions and responses:
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (9)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CA2824348A CA2824348A1 (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistical from a data warehouse |
| CN201280009577.8A CN103548019B (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistical information from a data warehouse |
| KR1020137023743A KR101673461B1 (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistical from a data warehouse |
| US13/979,699 US9710506B2 (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistical data from a data warehouse |
| SG2013057096A SG192164A1 (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistical from a data warehouse |
| AU2012219687A AU2012219687B2 (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistical from a data warehouse |
| JP2013553965A JP5963780B2 (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistics from a data warehouse |
| BR112013018831A BR112013018831A2 (en) | 2011-02-21 | 2012-02-20 | method and system for providing statistical data from a computer program product and data store stored on a non-transient computer readable storage medium |
| ZA2013/05948A ZA201305948B (en) | 2011-02-21 | 2013-08-07 | Method and system for providing statistical from a data warehouse |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP11305177A EP2490135A1 (en) | 2011-02-21 | 2011-02-21 | Method and system for providing statistical data from a data warehouse |
| EP11305177.5 | 2011-02-21 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012113756A1 true WO2012113756A1 (en) | 2012-08-30 |
Family
ID=44342862
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2012/052872 Ceased WO2012113756A1 (en) | 2011-02-21 | 2012-02-20 | Method and system for providing statistical from a data warehouse |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US9710506B2 (en) |
| EP (1) | EP2490135A1 (en) |
| JP (1) | JP5963780B2 (en) |
| KR (1) | KR101673461B1 (en) |
| CN (1) | CN103548019B (en) |
| AU (1) | AU2012219687B2 (en) |
| BR (1) | BR112013018831A2 (en) |
| CA (1) | CA2824348A1 (en) |
| SG (1) | SG192164A1 (en) |
| WO (1) | WO2012113756A1 (en) |
| ZA (1) | ZA201305948B (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013139766A1 (en) | 2012-03-20 | 2013-09-26 | Firmenich Sa | Compounds for a controlled release of active perfuming molecules |
| US8914866B2 (en) | 2010-01-19 | 2014-12-16 | Envizio, Inc. | System and method for user authentication by means of web-enabled personal trusted device |
| CN103885983B (en) * | 2012-12-21 | 2017-09-01 | 阿里巴巴集团控股有限公司 | Determination method, optimization method and the device of a kind of travelling route |
| US20260044482A1 (en) * | 2024-08-06 | 2026-02-12 | Hewlett Packard Enterprise Development Lp | In-memory hierarchical representation of data values |
Families Citing this family (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2727247B1 (en) * | 2011-06-30 | 2017-04-05 | Openwave Mobility, Inc. | Database compression system and method |
| US20130132128A1 (en) | 2011-11-17 | 2013-05-23 | Us Airways, Inc. | Overbooking, forecasting and optimization methods and systems |
| US20140114717A1 (en) * | 2012-09-05 | 2014-04-24 | Moose Loop Holdings, LLC | Task Schedule Modification |
| US11321721B2 (en) | 2013-03-08 | 2022-05-03 | American Airlines, Inc. | Demand forecasting systems and methods utilizing prime class remapping |
| US20140257881A1 (en) * | 2013-03-08 | 2014-09-11 | Us Airways, Inc. | Demand forecasting systems and methods utilizing fare adjustment |
| US9727940B2 (en) | 2013-03-08 | 2017-08-08 | American Airlines, Inc. | Demand forecasting systems and methods utilizing unobscuring and unconstraining |
| US20140278615A1 (en) | 2013-03-15 | 2014-09-18 | Us Airways, Inc. | Misconnect management systems and methods |
| US9372889B1 (en) * | 2013-04-04 | 2016-06-21 | Amazon Technologies, Inc. | Incremental statistics update |
| US10755207B1 (en) | 2014-01-17 | 2020-08-25 | American Airlines, Inc. | Demand class remapping for airline seat bookings |
| US10748087B2 (en) | 2014-01-17 | 2020-08-18 | American Airlines, Inc. | Determining even-spaced quantiles for network optimization |
| CN104133836B (en) | 2014-06-24 | 2015-09-09 | 腾讯科技(深圳)有限公司 | A kind of method and device realizing change Data Detection |
| CN105446991B (en) * | 2014-07-07 | 2018-10-30 | 阿里巴巴集团控股有限公司 | Date storage method, querying method and equipment |
| KR101594916B1 (en) * | 2014-08-25 | 2016-02-17 | (주)휴민텍 | System for surveilling injury, and computer readable recording medium having injury surveillance program recorded therein |
| CN104182540B (en) * | 2014-09-03 | 2017-10-27 | 北京国双科技有限公司 | Index statistical information processing method and processing device in data warehouse |
| CN104463420B (en) * | 2014-11-05 | 2017-11-21 | 上海携程商务有限公司 | The order processing system and method for OTA websites |
| CN105574060A (en) * | 2015-01-13 | 2016-05-11 | 北京中体骏彩信息技术有限公司 | Lottery statistic data extraction method |
| CN105989072B (en) * | 2015-02-10 | 2019-09-27 | 阿里巴巴集团控股有限公司 | Deduplication counting method and equipment |
| US10146820B2 (en) * | 2015-09-24 | 2018-12-04 | Nxp Usa, Inc. | Systems and methods to access memory locations in exact match keyed lookup tables using auxiliary keys |
| US10146854B2 (en) | 2016-02-29 | 2018-12-04 | International Business Machines Corporation | Continuous automatic update statistics evaluation using change data capture techniques |
| CN106022896A (en) * | 2016-06-07 | 2016-10-12 | 中国建设银行股份有限公司 | Transaction statistics report generation method and system |
| US20170364932A1 (en) * | 2016-06-21 | 2017-12-21 | Amadeus S.A.S. | Data warehouse for mining search query logs |
| CN107704475B (en) * | 2016-08-10 | 2021-12-14 | 泰康保险集团股份有限公司 | Multilayer distributed unstructured data storage method, query method and device |
| CN106294860A (en) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | A real-time index data synchronization system and its implementation method |
| US10657158B2 (en) * | 2016-11-23 | 2020-05-19 | Google Llc | Template-based structured document classification and extraction |
| US11270395B2 (en) * | 2016-12-15 | 2022-03-08 | Mastercard International Incorporated | Systems and methods for building a data table to reduce false declines over a network |
| CN110352441A (en) * | 2017-01-23 | 2019-10-18 | 艾玛迪斯简易股份公司 | Record polymerized data base |
| WO2018140659A1 (en) * | 2017-01-25 | 2018-08-02 | Systems And Software Enterprises, Llc | Systems architecture for interconnection of multiple cabin aircraft elements |
| US10909074B2 (en) * | 2017-04-18 | 2021-02-02 | Microsoft Technology Licensing, Llc | File table index aggregate statistics |
| US11010387B2 (en) * | 2017-10-06 | 2021-05-18 | Microsoft Technology Licensing, Llc | Join operation and interface for wildcards |
| KR102507837B1 (en) * | 2017-11-14 | 2023-03-07 | 주식회사 케이티 | Method and Apparatus for Quality Management of Data |
| US10445422B2 (en) * | 2018-02-09 | 2019-10-15 | Microsoft Technology Licensing, Llc | Identification of sets and manipulation of set data in productivity applications |
| CN109471852B (en) * | 2018-05-29 | 2023-08-01 | 深圳平安医疗健康科技服务有限公司 | Medical database establishing method, medical database establishing device, computer equipment and storage medium |
| CN109299931A (en) * | 2018-09-13 | 2019-02-01 | 百富计算机技术(深圳)有限公司 | A data statistics method, system and terminal device |
| CN112236759B (en) * | 2018-09-14 | 2024-08-06 | 谷歌有限责任公司 | Interleaved merging in log structured merging forest |
| US11080358B2 (en) | 2019-05-03 | 2021-08-03 | Microsoft Technology Licensing, Llc | Collaboration and sharing of curated web data from an integrated browser experience |
| US10983975B2 (en) | 2019-06-13 | 2021-04-20 | Ant Financial (Hang Zhou) Network Technology Co., Ltd. | Data block storage method and apparatus, and electronic device |
| CN111190952B (en) * | 2019-12-23 | 2023-10-03 | 中电海康集团有限公司 | A method to extract and persist multi-scale features of urban portraits based on image pyramid |
| CN111782663B (en) * | 2020-05-21 | 2023-09-01 | 浙江邦盛科技股份有限公司 | Aggregation index structure and aggregation index method for improving aggregation query efficiency |
| CN112114531B (en) * | 2020-08-10 | 2024-05-14 | 广州明珞装备股份有限公司 | Method, system, device and storage medium for rapidly deploying cylinder logic blocks |
| CN112527828B (en) * | 2020-12-10 | 2023-03-14 | 福建新大陆支付技术有限公司 | Tax control record storage method and retrieval query method for tax control machine |
| CN112528616B (en) * | 2020-12-18 | 2023-08-22 | 平安银行股份有限公司 | Service form generation method and device, electronic equipment and computer storage medium |
| KR102449580B1 (en) * | 2021-02-15 | 2022-09-30 | (주)아이브릭스 | A method of analyzing unstructured data using a component network-based analysis system |
| US20220300869A1 (en) * | 2021-03-22 | 2022-09-22 | Sap Se | Intelligent airfare pattern prediction |
| CN114185983A (en) * | 2021-12-14 | 2022-03-15 | 中南大学 | Data extraction control method, device, equipment and storage medium |
| US12254111B2 (en) | 2022-01-03 | 2025-03-18 | Bank Of America Corporation | Information security systems and methods for early change detection and data protection |
| WO2023211811A1 (en) * | 2022-04-24 | 2023-11-02 | Morgan Stanley Services Group Inc. | Data indexing for distributed query execution and aggregation |
| US11520739B1 (en) * | 2022-04-24 | 2022-12-06 | Morgan Stanley Services Group Inc. | Distributed query execution and aggregation |
| CN116012042A (en) * | 2023-01-10 | 2023-04-25 | 中国民航信息网络股份有限公司 | Method and system for measuring and calculating series group application, electronic equipment and storage medium |
| KR102818528B1 (en) * | 2024-10-10 | 2025-06-10 | 카투(주) | AI-based Short-term and Long-term Car Rental Management System |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040122844A1 (en) * | 2002-12-18 | 2004-06-24 | International Business Machines Corporation | Method, system, and program for use of metadata to create multidimensional cubes in a relational database |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3552339B2 (en) | 1995-05-30 | 2004-08-11 | 富士通株式会社 | Database system |
| JPH11232283A (en) | 1998-02-10 | 1999-08-27 | Hitachi Ltd | Information search method |
| KR20010068047A (en) | 2000-04-24 | 2001-07-13 | 김준수 | Method and apparatus for tour simulation in internet |
| KR100656528B1 (en) * | 2001-09-10 | 2006-12-12 | 한국과학기술원 | Dynamic Update Cube and Hybrid Queries Search Method for Range-Sum Queries |
| KR100473058B1 (en) | 2001-12-27 | 2005-03-08 | 삼성에스디에스 주식회사 | Analytical Operation as Drill Up and Down of OLAP Tools From RDBMS |
| CN100359495C (en) | 2003-09-04 | 2008-01-02 | 上海格尔软件股份有限公司 | Information system auditing method based on data storehouse |
| US7461089B2 (en) * | 2004-01-08 | 2008-12-02 | International Business Machines Corporation | Method and system for creating profiling indices |
| US7647356B2 (en) * | 2004-05-07 | 2010-01-12 | Oracle International Corporation | Methods and apparatus for facilitating analysis of large data sets |
| US7415487B2 (en) | 2004-12-17 | 2008-08-19 | Amazon Technologies, Inc. | Apparatus and method for data warehousing |
| KR100834760B1 (en) | 2006-11-23 | 2008-06-05 | 삼성전자주식회사 | Optimized index search method and device |
| CN101763415B (en) | 2009-12-16 | 2012-10-17 | 北京握奇数据系统有限公司 | Method and device for generating B tree index of database |
-
2011
- 2011-02-21 EP EP11305177A patent/EP2490135A1/en not_active Ceased
-
2012
- 2012-02-20 CA CA2824348A patent/CA2824348A1/en not_active Abandoned
- 2012-02-20 SG SG2013057096A patent/SG192164A1/en unknown
- 2012-02-20 JP JP2013553965A patent/JP5963780B2/en not_active Expired - Fee Related
- 2012-02-20 WO PCT/EP2012/052872 patent/WO2012113756A1/en not_active Ceased
- 2012-02-20 KR KR1020137023743A patent/KR101673461B1/en not_active Expired - Fee Related
- 2012-02-20 AU AU2012219687A patent/AU2012219687B2/en not_active Ceased
- 2012-02-20 US US13/979,699 patent/US9710506B2/en not_active Expired - Fee Related
- 2012-02-20 BR BR112013018831A patent/BR112013018831A2/en not_active IP Right Cessation
- 2012-02-20 CN CN201280009577.8A patent/CN103548019B/en not_active Expired - Fee Related
-
2013
- 2013-08-07 ZA ZA2013/05948A patent/ZA201305948B/en unknown
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040122844A1 (en) * | 2002-12-18 | 2004-06-24 | International Business Machines Corporation | Method, system, and program for use of metadata to create multidimensional cubes in a relational database |
Non-Patent Citations (4)
| Title |
|---|
| JOACHIM HAMMER ET AL: "CubiST++: Evaluating Ad-Hoc CUBE Queries Using Statistics Trees", DISTRIBUTED AND PARALLEL DATABASES, KLUWER ACADEMIC PUBLISHERS, BO, vol. 14, no. 3, 1 November 2003 (2003-11-01), pages 221 - 254, XP019205685, ISSN: 1573-7578, DOI: 10.1023/A:1025537315785 * |
| LIXIN FU ET AL: "CubiST", PROCEEDINGS OF THE 3RD ACM INTERNATIONAL WORKSHOP ON DATA WAREHOUSING AND OLAP , DOLAP '00, 1 January 2000 (2000-01-01), New York, New York, USA, pages 72 - 79, XP055004585, ISBN: 978-1-58-113323-3, DOI: 10.1145/355068.355318 * |
| RIEDEWALD M ET AL: "pCube: Update-efficient online aggregation with progressive feedback and error bounds", SCIENTIFIC AND STATISTICAL DATABASE MANAGEMENT, 2000. PROCEEDINGS. 12T H INTERNATIONAL CONFERENCE ON BERLIN, GERMANY 26-28 JULY 2000, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 26 July 2000 (2000-07-26), pages 95 - 108, XP010512370, ISBN: 978-0-7695-0686-9, DOI: 10.1109/SSDM.2000.869781 * |
| SRIVASTAVA J ET AL: "TBSAM: an access method for efficient processing of statistical queries", IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 1, no. 4, 1 February 1988 (1988-02-01), pages 414 - 423, XP002152759, ISSN: 1041-4347, DOI: 10.1109/69.43417 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8914866B2 (en) | 2010-01-19 | 2014-12-16 | Envizio, Inc. | System and method for user authentication by means of web-enabled personal trusted device |
| WO2013139766A1 (en) | 2012-03-20 | 2013-09-26 | Firmenich Sa | Compounds for a controlled release of active perfuming molecules |
| CN103885983B (en) * | 2012-12-21 | 2017-09-01 | 阿里巴巴集团控股有限公司 | Determination method, optimization method and the device of a kind of travelling route |
| US20260044482A1 (en) * | 2024-08-06 | 2026-02-12 | Hewlett Packard Enterprise Development Lp | In-memory hierarchical representation of data values |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2012219687B2 (en) | 2015-02-26 |
| CA2824348A1 (en) | 2012-08-30 |
| JP5963780B2 (en) | 2016-08-03 |
| ZA201305948B (en) | 2014-04-30 |
| KR20140064718A (en) | 2014-05-28 |
| SG192164A1 (en) | 2013-08-30 |
| US9710506B2 (en) | 2017-07-18 |
| BR112013018831A2 (en) | 2017-02-21 |
| CN103548019B (en) | 2017-07-07 |
| CN103548019A (en) | 2014-01-29 |
| JP2014509008A (en) | 2014-04-10 |
| KR101673461B1 (en) | 2016-11-08 |
| EP2490135A1 (en) | 2012-08-22 |
| US20140074853A1 (en) | 2014-03-13 |
| AU2012219687A1 (en) | 2013-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9710506B2 (en) | Method and system for providing statistical data from a data warehouse | |
| KR102199620B1 (en) | System for providing bigdata based price comparison service using time series analysis and price prediction | |
| EP2842085B1 (en) | Database system using batch-oriented computation | |
| US8160996B2 (en) | Sequence online analytical processing system | |
| US20130073586A1 (en) | Database system using batch-oriented computation | |
| US20030130878A1 (en) | System and method for managing spending | |
| US20100153409A1 (en) | Computer-Implemented Systems And Methods For Providing Paginated Search Results From A Database | |
| Adhinugroho et al. | Development of online travel Web scraping for tourism statistics in Indonesia | |
| Vinod | Big data in the travel marketplace | |
| CN104199938A (en) | RSS-based agricultural land information sending method and system | |
| Cigánek | Design and implementation of open-data data warehouse | |
| Gupta et al. | A Review of Data Warehousing and Business Intelligence in different perspective | |
| Andriansyah et al. | The application of power business intelligence in analyzing the availability of rental units | |
| Bakaev et al. | Prospects and challenges in online data mining: experiences of three-year labour market monitoring project | |
| Albano | Decision support databases essentials | |
| US20080243762A1 (en) | Apparatus and method for query based paging through a collection of values | |
| Ragulan et al. | Designing a data warehouse system for sales and distribution company | |
| Pollard | Federal Reserve Bank of St | |
| Asrani et al. | Designing a Framework to Standardize Data Warehouse Development Process for Effective Data Warehousing Practices | |
| Ariawan et al. | Design of Library Data Warehouse Using OLTP Result of Services Analysis | |
| Ghosh et al. | Knowledge discovery of Sundarban Mangrove species: a way forward for managing species biodiversity | |
| Anagha et al. | Design and Development of Data Warehousing for Bookstore Using Pentaho BI Tools | |
| CN114817725B (en) | Behavior decision logic identification method and system | |
| JP2020086996A (en) | Publication information retrieval system | |
| Eguiguren | Solar boats in the amazon: a cloud data warehouse solution |
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: 12704812 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2012219687 Country of ref document: AU Date of ref document: 20120220 Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 2824348 Country of ref document: CA |
|
| ENP | Entry into the national phase |
Ref document number: 2013553965 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20137023743 Country of ref document: KR Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 13979699 Country of ref document: US |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 12704812 Country of ref document: EP Kind code of ref document: A1 |
|
| REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112013018831 Country of ref document: BR |
|
| ENP | Entry into the national phase |
Ref document number: 112013018831 Country of ref document: BR Kind code of ref document: A2 Effective date: 20130723 |
