WO2023182661A1 - Electronic device for analyzing big data and operation method thereof - Google Patents

Electronic device for analyzing big data and operation method thereof Download PDF

Info

Publication number
WO2023182661A1
WO2023182661A1 PCT/KR2023/002189 KR2023002189W WO2023182661A1 WO 2023182661 A1 WO2023182661 A1 WO 2023182661A1 KR 2023002189 W KR2023002189 W KR 2023002189W WO 2023182661 A1 WO2023182661 A1 WO 2023182661A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
big data
big
tables
cost
Prior art date
Application number
PCT/KR2023/002189
Other languages
French (fr)
Korean (ko)
Inventor
김정곤
도기석
배국진
Original Assignee
삼성전자 주식회사
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 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2023182661A1 publication Critical patent/WO2023182661A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • G06Q20/145Payments according to the detected use or quantity

Definitions

  • Various embodiments relate to the analysis of big data, and more specifically, to an electronic device that analyzes big data based on cost and time efficiency and a method of operating the same.
  • big data service providers collect and utilize various data from individuals, institutions, etc.
  • Data users can search and store desired data using big data services provided by big data service providers through the big data analysis server.
  • the big data analysis server can retrieve the data desired by the user from the big data platform and perform analysis. At this time, costs are incurred depending on the resources and time corresponding to the amount of big data read from the big data platform, and therefore a method to minimize these costs is required.
  • Various embodiments of the present disclosure can provide an apparatus and operating method for automatically predicting the integrated cost and time for analyzing big data based on the pricing policies of various big data platforms.
  • An electronic device includes a memory; and at least one processor, wherein the at least one processor crawls and obtains a cost policy of a big data providing device that provides big data to be analyzed, obtains information about the big data, and selects the big data among the big data. Select some data as data to be analyzed, perform an analysis operation on the selected data, and based on the cost policy, information on the big data, and analysis results of the selected data, resources of the first condition Predicting the analysis task execution time in the environment, based on the analysis task execution time in the resource environment of the first condition, the analysis task execution time in a resource environment having a plurality of second conditions different from the first condition, and It can be set to calculate billing costs.
  • a method of operating an electronic device includes an operation of crawling and obtaining a cost policy of a big data providing device that provides big data to be analyzed; An operation of obtaining information about the big data; An operation of selecting some data from the big data as data to be analyzed; performing an analysis task on the selected data; predicting an analysis task execution time in a resource environment of a first condition based on the cost policy, the information about the big data, and an analysis result of the selected data; and calculating analysis task execution time and cost in a resource environment having a plurality of second conditions different from the first condition, based on the analysis task execution time in the resource environment of the first condition.
  • Devices and methods for analyzing and providing big data can automatically predict the integrated cost and time for analyzing big data based on the pricing policies of various big data platforms.
  • the apparatus and method for analyzing and providing big data predicts cost and time based on the pricing policy of various big data platforms, allowing users to perform big data analysis according to desired cost and time. You can.
  • FIG. 1 is a diagram illustrating a system for analyzing and providing big data according to various embodiments.
  • Figure 2 is a block diagram illustrating a big data analysis device according to various embodiments.
  • Figure 3 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
  • Figure 4 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
  • Figure 5 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
  • Figure 6 is a diagram showing an example of a three-step query of a big data device according to various embodiments.
  • FIG. 7 is a diagram illustrating an electronic device implementing a big data analysis device according to various embodiments.
  • first, second, or first or second may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited.
  • One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
  • any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
  • module used in various embodiments of the present disclosure may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. can be used
  • a module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present disclosure may be implemented as software including one or more instructions stored in a storage medium that can be read by a machine.
  • the processor of the device may call at least one instruction among one or more instructions stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called.
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage.
  • methods according to various embodiments of the present disclosure may be included and provided in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or via an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store server, or a relay server.
  • each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components.
  • one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or , or one or more other operations may be added.
  • FIG. 1 is a diagram illustrating a system for analyzing and providing big data according to various embodiments.
  • a system for analyzing and providing big data may include a big data analysis device 110, a big data consumption device 120, and a big data provision device 130. .
  • the big data providing device 130 may include a big data platform and database that collects and manages big data based on a database cloud service.
  • the big data provision device 130 is provided by Google TM Cloud, such as Google TM BigQuery, AWS (amazon web service), Microsoft TM Azure, and Kubernetes (hereinafter, Kubernetes) may be included.
  • the big data analysis device 110 may read big data from the big data providing device 130 at the request of the big data consuming device 120 and provide it to the big data consuming device 120.
  • the big data consumption device 120 may be used by a big data consumer (eg, user).
  • the big data consumption device 120 can check a cost table indicating time and resources for each data analysis method provided by the big data analysis device 110.
  • the big data consumption device 120 can select a desired big data analysis method based on the confirmed cost table for big data analysis.
  • a big data consumer pre-registers a desired condition, for example, a condition that prioritizes cost over time, to the big data consumption device 120, the big data consumer device 120 configures the big data consumer's conditions. You can automatically select the big data analysis method that matches your needs.
  • the big data consumption device 120 may request the big data analysis device 110 to perform a big data analysis task according to the selected big data analysis method.
  • the big data analysis device 110 can collect, analyze, and store big data based on the big data analysis method selected by the big data consumption device 120.
  • the big data analysis device 110 may provide the big data analysis results to the big data consumption device 120.
  • the big data analysis device 110 can collect big data from the big data providing device 130.
  • the big data analysis device 110 may request big data from the big data providing device 130 and receive big data transmitted from the big data providing device 130 upon request.
  • the big data analysis device 110 may be allocated resources for big data collection from the big data provision device 130.
  • the big data analysis device 110 can manage the resources allocated from the big data providing device 130 and the time required to collect big data from the big data providing device 130.
  • the cost for collecting big data may vary depending on the cost policy of the big data providing device 130. For example, when using Google Big Query as a data source, data is stored in column units, and charges can be made based on the size of the data stored and the column of data scanned when querying the data. For example, when using the first platform (e.g. Kubernetes) as a platform, the amount of resources required may vary depending on the configuration of containers, nodes, pods, etc., and the required resources may vary accordingly. Costs charged may also vary.
  • the big data analysis device 110 can secure optimized costs and resources by predicting the time and cost for each job in advance based on the cost policy for each platform and data source of the big data provision device 130. there is.
  • the big data analysis device 110 can check resources and tasks that affect costs based on the data structure of the big data provided from the big data provision device 130.
  • the big data analysis device 110 can check the number of queries and the amount of data per query.
  • the big data provision device 130 uses the Kubernetes platform, the big data analysis device 110 may check the number of pods, live time of the pod, resources for each pod, etc. .
  • the big data analysis device 110 may obtain cost-related information by crawling the cost policies for each platform/data source of the big data provision device 130.
  • the big data analysis device 110 may obtain information about the analysis target of the big data providing device 130.
  • the data structure of Google Big Query may have a logical structure of project, data set, table, and job, and when using Google Big Query, the big data analysis device 110 creates a data set list. , table list, table schema information (for example, number of columns, number of rows, etc.) can be obtained.
  • One project may include multiple data sets, and a data set may be a table set with multiple tables. Each table stores actual data, and a job can refer to a command given to data, such as a query, data loading, or deletion.
  • the big data analysis device 110 may obtain the number of containers, the number of pods, and the resource type of each pod.
  • a pod is the most basic data distribution unit in Kubernetes and can contain one or more containers, and disk volumes can be shared between containers deployed within the pod.
  • the big data analysis device 110 can query and retrieve big data from the big data provision device 130, and can perform a three-step data selection process of sampling, filtering, and randomizing tables to minimize query costs. there is.
  • the three-stage data selection process will be described in detail later with reference to the attached drawings.
  • the big data analysis device 110 can perform a three-step data selection process and infer the total task execution time in the basic resource environment based on the selected big data.
  • the big data analysis device 110 calculates the maximum task execution time for one task in the basic resource environment set by the big data consumer, and calculates the total data to be acquired from the platform that performs the task based on this.
  • the total task execution time can be predicted.
  • the big data analysis device 110 can compare the relative processing speed according to the resources required for big data collection and predict the cost expected to be charged for big data collection.
  • the big data analysis device 110 may store the final predicted cost-related information in a table. For example, when using the Kubernetes platform, the big data analysis device 110 outputs the number of containers, the number of pods, the resource type of each pod, the total execution time of the task, and the total cost in a table. You can.
  • FIG. 2 is a block diagram illustrating a big data analysis device 110 according to various embodiments.
  • the big data analysis device 110 may include a cost management unit 210, a big data management unit 220, and a system control unit 230.
  • the cost management unit 210 may perform operations to predict the time and cost required for big data analysis.
  • the cost management unit 210 may be allocated resources for big data collection from the big data providing device 130.
  • the big data analysis device 110 can manage the resources allocated from the big data providing device 130 and the time required to collect big data from the big data providing device 130.
  • the cost for collecting big data may vary depending on the cost policy of the big data providing device 130. For example, when using Google Big Query as a data source, data is stored in column units, and charges can be made based on the size of the data stored and the column of data scanned when querying the data. For example, when using Kubernetes as a platform, the amount of resources required may vary depending on the configuration of containers, nodes, pods, etc., and the costs required may also vary accordingly.
  • the cost management unit 210 can secure optimized costs and resources by predicting the time and cost for each job in advance based on the cost policy for each platform and data source of the big data provision device 130.
  • the cost management unit 210 can identify resources and tasks that affect costs based on the data structure of the big data provided from the big data providing device 130.
  • the cost management unit 210 can check the number of queries and the amount of data per query.
  • the cost management unit 210 may check the number of pods, the live time of the pod, and the resources of the pod.
  • the cost management unit 210 may obtain cost-related information by crawling the cost policies for each platform/data source of the big data provision device 130.
  • the cost management unit 210 may obtain information about the analysis target of the big data providing device 130.
  • the data structure of big data Google Big Query may have a logical structure of project, data set, table, and job, and when using Google Big Query, the cost management unit 210 creates a data set list. , table list, table schema information (for example, number of columns, number of rows, etc.) can be obtained.
  • the cost management unit 210 may obtain the number of containers, the number of pods, and the resource type of each pod.
  • the cost management unit 210 can query and retrieve big data from the big data providing device 130, and can perform a three-stage data selection process of sampling, filtering, and randomizing tables to minimize query costs.
  • the three-stage data selection process will be described in detail later with reference to the attached drawings.
  • the cost management unit 210 can perform a three-step data selection process to infer the total task execution time in the basic resource environment based on the selected big data. In one embodiment, the cost management unit 210 calculates the maximum task execution time for one task in the basic resource environment set by the big data consumer, and based on this, calculates the total data to be acquired from the platform performing the task. The total task execution time can be predicted. In one embodiment, the cost management unit 210 can compare relative processing speeds according to resources required for big data collection and predict expected costs.
  • the cost management unit 210 can secure the final predicted cost-related information in a table. For example, when using the Kubernetes platform, the cost management unit 210 can output the number of containers, the number of pods, the resource type of each pod, the total execution time of the task, and the total cost in a table.
  • the cost management unit 210 can set conditions regarding big data analysis costs. Big data analysis cost conditions may include information related to the limited cost of big data analysis provided by the big data consumption device 120 and big data analysis time. The cost management unit 210 may receive priorities for predicting big data analysis costs from the big data consumption device 120. For example, based on the request of the big data consumption device 120, the big data analysis cost may be set to have priority over the big data analysis time.
  • the cost management unit 210 may select a big data analysis method in which big data analysis cost is prioritized over big data analysis time based on a request from the big data consumption device 120.
  • the big data management unit 220 may include a data resource management unit 221, a data management unit 223, a data storage 225, and a data transmission unit 227.
  • the data resource management unit 221 can manage information about data resources.
  • the resource management unit 221 may collect data from the big data providing device 130.
  • the data resource management unit 221 may request data from the big data providing device 130 and receive data transmitted from the big data providing device 130 upon request.
  • the data management unit 223 may review the data and, if modification to the data is required, may modify the data.
  • the data management unit 223 may secure data stored in the big data analysis device 110 and data provided from the big data providing device 130.
  • the data management unit 223 may perform data analysis tasks based on the big data analysis cost conditions set by the big data consumption device 120.
  • the data management unit 223 may store data provided from the big data providing device 130 and/or analyzed data in the data storage 225.
  • the data transmission unit 227 may transmit the analyzed data to the big data consumption device 120.
  • the system control unit 230 may manage and control a processing process for executing instructions between the cost management unit 210 and the big data management unit 220.
  • the system control unit 230 can process commands between the big data analysis device 110 and the big data consumption device 120.
  • the system control unit 230 may be at least one hardware processor.
  • Program modules may be included in the big data provision device 100 in the form of an operating system, application program module, and other program modules.
  • FIG. 3 is a diagram for explaining the operation of the big data analysis device 110 according to various embodiments.
  • the big data providing device 130 is Google Big Query and Kubernetes is taken as an example, but it is understood by those skilled in the art that the same technical idea can be applied to other devices providing big data. It is self-explanatory.
  • the big data analysis device may obtain a cost policy for each platform and/or data source of the big data providing device.
  • Big data provision devices using Google Big Query, Kubernetes, etc. disclose cost policies, and big data analysis devices can obtain cost-related information by crawling the cost policies provided by big data provision devices.
  • the data structure of Big Query may have a logical structure of project, data set, table, and job, and the big data analysis device 110 stores the data. You can obtain set list, table list, table schema information (for example, number of columns, number of rows, etc.).
  • One project may include multiple data sets, and a data set may be a table set with multiple tables. Tables store actual data, and jobs can refer to commands issued to data, such as queries, data loading, or deletion.
  • the big data analysis device 110 may obtain the number of containers, the number of pods, and the resource type of each pod.
  • a pod is the most basic data distribution unit in Kubernetes and can contain one or more containers, and disk volumes can be shared between containers deployed within the pod.
  • the big data analysis device may obtain information about the big data to be analyzed.
  • the big data analysis device can identify resources and tasks that affect costs based on the data structure of the big data provided from the big data provision device 130.
  • the big data analysis device can check the number of queries and the amount of data per query.
  • the big data analysis device can check the number of pods, live time of the pods, resources for each pod, etc.
  • the big data analysis device may acquire arbitrary data for big data analysis.
  • the big data analysis device can query and retrieve big data from the big data providing device 130, and can perform a three-step data selection process of sampling, filtering, and randomizing the table to minimize query costs.
  • the three-stage data selection process will be described in detail later with reference to the attached drawings.
  • the big data analysis device may predict the task execution time in the basic resource environment based on the information obtained in operations 310 to 330.
  • the big data analysis device calculates the maximum task execution time for one task in the basic resource environment set by the big data consumer, and based on this, calculates the total data to be acquired from the platform performing the task. Task execution time can be predicted.
  • the big data analysis device can determine whether to skip analysis of the corresponding column based on the column name/type, and calculate the total filtering time based on system performance.
  • the big data analysis device can infer the time required to perform the three-step data selection process depending on the amount of data, and can additionally consider network conditions.
  • the big data analysis device may compare relative processing speeds according to resources required to collect big data and calculate an expected cost.
  • the cost may vary for each resource when providing a node or pod in a big data platform such as Kubernetes, so the big data analysis device adjusts performance and cost according to resource changes when performing a task. It is predictable. For example, if a big data analysis device performs a query using a relatively large memory, processing speed can be increased compared to querying using a small memory. Therefore, the big data analysis device can calculate the processing speed and cost for each resource provided by each platform, and accordingly select the resource with the desired cost or allow the consumer to choose.
  • the big data analysis device can secure the final predicted cost-related information in a table. For example, when using the Kubernetes platform, the big data analysis device can output the number of containers, number of pods, resource type of each pod, total execution time of the task, and total cost in a table.
  • Table 1 shows the data for one job when there are five resource types depending on the combination of CPU (central processing unit) processing speed, memory capacity, disk size, and network bandwidth. This example shows the results of processing speed and resulting costs.
  • Figure 4 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
  • the big data analysis device may be a device that is substantially the same as the big data analysis device 110 of FIG. 1 or the big data analysis device 110 of FIG. 2.
  • the big data providing device When using Google Big Query as a data source, Big Query 410 may include a plurality of data sets (Dataset #1 and Dataset #N) 401 and 402. Each of the plurality of data sets may include a plurality of tables 420. Other data sources other than BigQuery may also have a data structure similar to that of FIG. 4.
  • a big data analysis device can obtain a data set list and table and column list information for each data set from a plurality of data sets.
  • the big data analysis device reads data in column units (421) for big data analysis based on the table (420) included in the data set, and based on the table (420), information about the table, for example, the number of rows. , you can check the number of columns and determine whether to skip the analysis of the column based on the column name/type.
  • the big data analysis device can be set to skip the column without analyzing it if the column name includes a specific character.
  • the big data analysis device may be set to skip the column without analyzing it if the column type is "int”.
  • the big data analysis device may exclude analysis targets based on the combination of each column.
  • the big data analysis device infers the combination of columns “user” and “name”, where "name” is the user name. and included in the analysis target, and for the combination of "model_id” and "name", "name” can be inferred as device information and excluded from the analysis target.
  • Figure 5 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
  • the big data analysis device may be a device that is substantially the same as the big data analysis device 110 of FIG. 1 or the big data analysis device 110 of FIG. 2.
  • a big data analysis device When a big data analysis device reads big data from a big data provision device for big data analysis, if the entire data is read, the amount of data is very large, so it takes a lot of resources and time to read the data, and the cost increases accordingly. . Therefore, the big data analysis device queries and retrieves some data for efficient big data analysis, but can read the data randomly to represent the entire column data. According to various embodiments, a big data analysis device may perform a three-step query to analyze big data at minimal cost.
  • the big data analysis device may perform table sampling.
  • the big data analysis device can perform table sampling based on the physical configuration of the data source of the big data providing device. For example, if the data of Google Big Query consists of blocks of 1 GB, and the column data of the table you want to analyze is 3 GB, the column data of the table you want to analyze can be stored in three 1 GB blocks. In addition, the big data analysis device can reduce costs by sampling and querying only one block out of three blocks containing the table to be analyzed, that is, 1 GB of data.
  • the big data analysis device may perform filtering based on the distribution number so that data retrieved from the sampled table is representative. For example, when performing filtering based on frequency (ordering), the big data analysis device can filter only the top n data from the sampled table.
  • the big data analysis device may finally randomly select up to N pieces of data among the n pieces of data filtered based on the distribution number in order to minimize data analysis time and/or cost.
  • a big data analysis device can predict the time and resources needed to analyze one column data by performing a three-step query.
  • the big data analysis device can predict the resources, task execution time, and cost required to actually perform desired tasks based on the time and resources required to analyze one column data, and secure the prediction results in a table. You can.
  • the big data analysis device can output the number of containers, number of pods, resource type of each pod, total execution time of the task, and total cost in a table.
  • the number of containers may vary depending on the environment in which pods can share resources.
  • the resource type of each pod may vary depending on CPU type, memory, disk space, network allocation, etc.
  • Figure 6 is a diagram showing an example of a three-step query of a big data analysis device according to various embodiments.
  • the big data analysis device can perform table sampling through the “TABLESAMPLE SYSTEM (50 PERCENT)” query (601).
  • the big data analysis device can filter XX of the tables sampled in 601 based on the frequency (order) through “Column> ORDER BY 2 DESC LIMIT XX” (602).
  • the big data analysis device for the XX tables filtered at 602, says, “The data analysis device can perform randomization to 20% of the tables through the filter at 602 (603).
  • FIG. 7 is a diagram illustrating an electronic device implementing a big data analysis device according to various embodiments.
  • the electronic device 700 may be a general-purpose computer system that operates as a big data analysis device 110.
  • the electronic device 700 may include at least a portion of a processing unit 710, a communication unit 720, a memory 730, a storage 740, and a bus 790.
  • Components of the electronic device 700 such as the processing unit 710, the communication unit 720, the memory 730, and the storage 740, may communicate with each other through the bus 790.
  • the processing unit 710 may be a semiconductor device that executes processing instructions stored in the memory 730 or storage 740.
  • the processing unit 710 may be at least one hardware processor.
  • the processing unit 710 can process tasks required for the operation of the electronic device 700.
  • the processing unit 710 may execute the code of the operation or step of the processing unit 710 described in the embodiments.
  • the processing unit 710 may generate, store, and output information described in the embodiments, and may perform operations performed in the electronic device 700. In one embodiment, the processing unit 710 may perform the same or similar operations as the system control unit 230 of FIG. 2.
  • the communication unit 720 may be connected to the network 799. Data or information required for the operation of the electronic device 700 may be received, and data or information required for the operation of the electronic device 700 may be transmitted.
  • the communication unit 720 may transmit data to another device (e.g., the big data consuming device 120 and/or the big data providing device 130 of FIG. 1) through the network 799, and may transmit data to another device (e.g., the big data consuming device 120 and/or the big data providing device 130 of FIG. 1) through the network 799. Data may be received from the big data consumption device 120 and/or the big data provision device 130.
  • Memory 730 and storage 740 may be various types of volatile or non-volatile storage media.
  • the memory 730 may include at least one of ROM 731 and RAM 732.
  • Storage 740 may include a built-in storage medium such as RAM, flash memory, and hard disk, and may include a removable storage medium such as a memory card.
  • a function or operation of the electronic device 700 may be performed as the processing unit 710 executes at least one program module.
  • Memory 730 and/or storage 740 may store at least one program module.
  • At least one program module may be configured to be executed by the processing unit 710.
  • the electronic device 700 may further include a user interface (UI) input device 750 and a UI output device 760.
  • the UI input device 750 may receive user input required for operation of the electronic device 700.
  • the UI output device 760 may output information or data according to the operation of the electronic device 700.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

An electronic device according to various embodiments comprises a memory and at least one processor. The at least one processor can be set to: crawl and acquire a cost policy of a big data providing device that provides big data to be analyzed; acquire information about the big data; select a portion of the big data as data to be analyzed; perform an analysis task on the selected data; predict the analysis task execution time in a resource environment of a first condition on the basis of the cost policy, the information about the big data, and the result of the analysis of the selected data; and calculate, on the basis of the analysis task execution time in the resource environment of the first condition, the analysis task execution time and the billing cost in a resource environment having a plurality of second conditions different from the first condition. Various other embodiments may be provided.

Description

빅데이터를 분석하는 전자 장치 및 그 동작 방법Electronic device for analyzing big data and method of operation thereof
다양한 실시 예들은, 빅데이터의 분석에 관한 것으로, 보다 상세하게는 효율적인 비용 및 시간에 기반하여 빅데이터를 분석하는 전자 장치 및 그 동작 방법에 관한 것이다.Various embodiments relate to the analysis of big data, and more specifically, to an electronic device that analyzes big data based on cost and time efficiency and a method of operating the same.
최근 빅데이터의 활용도가 높아지면서 빅데이터 서비스 사업자들은 개인, 기관 등의 다양한 데이터를 수집하여 활용한다. 데이터 사용자들은 빅데이터 분석 서버를 통해 빅데이터 서비스 사업자들이 제공하는 빅데이터 서비스를 이용하여 원하는 데이터를 검색하고 저장할 수 있다. Recently, as the use of big data has increased, big data service providers collect and utilize various data from individuals, institutions, etc. Data users can search and store desired data using big data services provided by big data service providers through the big data analysis server.
빅데이터 분석 서버는 서버를 운영함에 있어서 사용자가 원하는 데이터를 빅데이터 플랫폼으로부터 가져와서 분석하는 작업을 수행할 수 있다. 이때 빅데이터 플랫폼으로부터 읽어오는 빅데이터의 양에 대응되는 자원과 시간에 따라 비용이 발생하며, 따라서 이러한 비용을 최소화하기 위한 방안이 요구된다.When operating the server, the big data analysis server can retrieve the data desired by the user from the big data platform and perform analysis. At this time, costs are incurred depending on the resources and time corresponding to the amount of big data read from the big data platform, and therefore a method to minimize these costs is required.
본 개시의 다양한 실시 예들은 다양한 빅데이터 플랫폼의 가격 정책에 기반하여 빅데이터를 분석하는 통합적인 비용 및 시간을 자동으로 예측하는 장치 및 그 동작 방법을 제공할 수 있다. Various embodiments of the present disclosure can provide an apparatus and operating method for automatically predicting the integrated cost and time for analyzing big data based on the pricing policies of various big data platforms.
다양한 실시 예들에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 다양한 실시 예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical challenges to be achieved in the various embodiments are not limited to the technical challenges mentioned above, and other technical challenges not mentioned may be explained to those skilled in the art to which the various embodiments of the present disclosure belong from the description below. You will be able to understand it clearly.
다양한 실시 예들에 따른 전자 장치는, 메모리; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 분석 대상인 빅데이터를 제공하는 빅데이터 제공 장치의 비용 정책을 크롤링하여 획득하고, 상기 빅데이터에 관한 정보를 획득하고, 상기 빅데이터 중 일부 데이터를, 분석될 데이터로 선택하고, 상기 선택된 데이터에 대한 분석 작업을 수행하고, 상기 비용 정책, 상기 빅데이터에 관한 정보, 및 상기 선택된 데이터에 대한 분석 결과에 기반하여, 제1 조건의 자원 환경에서의 분석 작업 실행 시간을 예측하고, 상기 제1 조건의 자원 환경에서의 분석 작업 실행 시간에 기반하여, 상기 제1 조건과 다른 복수의 제2 조건들을 가지는 자원 환경에서의 분석 작업 실행 시간 및 과금 비용을 산출하도록 설정될 수 있다.An electronic device according to various embodiments includes a memory; and at least one processor, wherein the at least one processor crawls and obtains a cost policy of a big data providing device that provides big data to be analyzed, obtains information about the big data, and selects the big data among the big data. Select some data as data to be analyzed, perform an analysis operation on the selected data, and based on the cost policy, information on the big data, and analysis results of the selected data, resources of the first condition Predicting the analysis task execution time in the environment, based on the analysis task execution time in the resource environment of the first condition, the analysis task execution time in a resource environment having a plurality of second conditions different from the first condition, and It can be set to calculate billing costs.
다양한 실시 예들에 따른 전자 장치의 동작 방법은, 분석 대상인 빅데이터를 제공하는 빅데이터 제공 장치의 비용 정책을 크롤링하여 획득하는 동작; 상기 빅데이터에 관한 정보를 획득하는 동작; 상기 빅데이터 중 일부 데이터를, 분석될 데이터로 선택하는 동작; 상기 선택된 데이터에 대한 분석 작업을 수행하는 동작; 상기 비용 정책, 상기 빅데이터에 관한 정보, 및 상기 선택된 데이터에 대한 분석 결과에 기반하여, 제1 조건의 자원 환경에서의 분석 작업 실행 시간을 예측하는 동작; 및 상기 제1 조건의 자원 환경에서의 분석 작업 실행 시간에 기반하여, 상기 제1 조건과 다른 복수의 제2 조건들을 가지는 자원 환경에서의 분석 작업 실행 시간 및 비용을 산출하는 동작을 포함할 수 있다.A method of operating an electronic device according to various embodiments includes an operation of crawling and obtaining a cost policy of a big data providing device that provides big data to be analyzed; An operation of obtaining information about the big data; An operation of selecting some data from the big data as data to be analyzed; performing an analysis task on the selected data; predicting an analysis task execution time in a resource environment of a first condition based on the cost policy, the information about the big data, and an analysis result of the selected data; and calculating analysis task execution time and cost in a resource environment having a plurality of second conditions different from the first condition, based on the analysis task execution time in the resource environment of the first condition. .
본 개시의 다양한 실시 예들에 따른 빅데이터를 분석하고 제공하는 장치 및 방법은, 다양한 빅데이터 플랫폼의 가격 정책에 기반하여 빅데이터를 분석하는 통합적인 비용 및 시간을 자동으로 예측할 수 있다. Devices and methods for analyzing and providing big data according to various embodiments of the present disclosure can automatically predict the integrated cost and time for analyzing big data based on the pricing policies of various big data platforms.
본 개시의 다양한 실시 예들에 따른 빅데이터를 분석하고 제공하는 장치 및 방법은, 다양한 빅데이터 플랫폼의 가격 정책에 기반하여 비용과 시간을 예측함으로써 사용자는 원하는 비용과 시간에 따른 빅데이터 분석을 수행할 수 있다. The apparatus and method for analyzing and providing big data according to various embodiments of the present disclosure predicts cost and time based on the pricing policy of various big data platforms, allowing users to perform big data analysis according to desired cost and time. You can.
도 1은 다양한 실시 예들에 따른 빅데이터를 분석하고 제공하기 위한 시스템을 나타낸 도면이다.1 is a diagram illustrating a system for analyzing and providing big data according to various embodiments.
도 2는 다양한 실시 예들에 따른 빅데이터 분석 장치를 도시한 블록도이다.Figure 2 is a block diagram illustrating a big data analysis device according to various embodiments.
도 3은 다양한 실시 예들에 따른 빅데이터 분석 장치의 동작을 설명하기 위한 도면이다. Figure 3 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
도 4는 다양한 실시 예들에 따른 빅데이터 분석 장치의 동작을 설명하기 위한 도면이다.Figure 4 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
도 5는 다양한 실시 예들에 따른 빅데이터 분석 장치의 동작을 설명하기 위한 도면이다.Figure 5 is a diagram for explaining the operation of a big data analysis device according to various embodiments.
도 6은 다양한 실시 예들에 따른 빅데이터 장치의 3단계 쿼리의 예시를 나타낸 도면이다.Figure 6 is a diagram showing an example of a three-step query of a big data device according to various embodiments.
도 7은 다양한 실시 예들에 따른 빅데이터 분석 장치를 구현한 전자 장치를 도시한 도면이다.FIG. 7 is a diagram illustrating an electronic device implementing a big data analysis device according to various embodiments.
본 개시의 다양한 실시 예들 및 이에 사용된 용어들은 본 개시에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 개시에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of the present disclosure and the terms used herein are not intended to limit the technical features described in the present disclosure to specific embodiments, and should be understood to include various changes, equivalents, or replacements of the embodiments. In connection with the description of the drawings, similar reference numbers may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the relevant context clearly indicates otherwise. In the present disclosure, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited. One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.” When mentioned, it means that any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
본 개시의 다양한 실시 예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in various embodiments of the present disclosure may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. can be used A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 개시의 다양한 실시 예들은 기기(machine)에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시로 저장되는 경우를 구분하지 않는다.Various embodiments of the present disclosure may be implemented as software including one or more instructions stored in a storage medium that can be read by a machine. For example, the processor of the device may call at least one instruction among one or more instructions stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage.
일 실시 예에 따르면, 본 개시의 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 애플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 애플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시로 생성될 수 있다.According to one embodiment, methods according to various embodiments of the present disclosure may be included and provided in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or via an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store server, or a relay server.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱 하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. . According to various embodiments, one or more of the components or operations described above may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (eg, modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or , or one or more other operations may be added.
도 1은 다양한 실시 예들에 따른 빅데이터를 분석하고 제공하기 위한 시스템을 나타낸 도면이다. 1 is a diagram illustrating a system for analyzing and providing big data according to various embodiments.
도 1을 참조하면, 다양한 실시 예들에 따른 빅데이터를 분석하고 제공하기 위한 시스템은 빅데이터 분석 장치(110), 빅데이터 소비 장치(120), 및 빅데이터 제공 장치(130)를 포함할 수 있다. Referring to FIG. 1, a system for analyzing and providing big data according to various embodiments may include a big data analysis device 110, a big data consumption device 120, and a big data provision device 130. .
빅데이터 제공 장치(130)는 데이터베이스 클라우드 서비스에 기반하여 빅데이터를 수집하고 관리하는 빅데이터 플랫폼 및 데이터베이스를 포함할 수 있다. 일 실시 예에서, 빅데이터 제공 장치(130)는 구글TM 클라우드에서 제공하는 구글TM 빅쿼리(BigQuery), AWS(amazon web service), 마이크로소프트TM 애저(azure) 쿠버네티스(Kubernetes)(이하, 쿠버네티스) 중 적어도 하나를 포함할 수 있다. The big data providing device 130 may include a big data platform and database that collects and manages big data based on a database cloud service. In one embodiment, the big data provision device 130 is provided by Google TM Cloud, such as Google TM BigQuery, AWS (amazon web service), Microsoft TM Azure, and Kubernetes (hereinafter, Kubernetes) may be included.
빅데이터 분석 장치(110)는 빅데이터 소비 장치(120)의 요청에 따라 빅데이터 제공 장치(130)로부터 빅데이터를 읽어들여서 빅데이터 소비 장치(120)로 제공할 수 있다. The big data analysis device 110 may read big data from the big data providing device 130 at the request of the big data consuming device 120 and provide it to the big data consuming device 120.
빅데이터 소비 장치(120)는 빅데이터 소비자(예: 사용자)에 의해 사용될 수 있다. 빅데이터 소비 장치(120)는 빅데이터 분석 장치(110)에서 제공하는, 데이터 분석 방식별 시간 및 자원을 나타내는 비용 테이블을 확인할 수 있다. 빅데이터 소비 장치(120)는 확인된 빅데이터 분석을 위한 비용 테이블에 기반하여, 원하는 빅데이터 분석 방식을 선택할 수 있다. 일 실시 예에서, 빅데이터 소비자가 원하는 조건, 예를 들면 비용을 시간보다 우선순위로 두는 조건을 빅데이터 소비 장치(120)에 미리 등록하면, 빅데이터 소비 장치(120)는 빅데이터 소비자의 조건에 부합되는 빅데이터 분석 방식을 자동으로 선택할 수 있다. The big data consumption device 120 may be used by a big data consumer (eg, user). The big data consumption device 120 can check a cost table indicating time and resources for each data analysis method provided by the big data analysis device 110. The big data consumption device 120 can select a desired big data analysis method based on the confirmed cost table for big data analysis. In one embodiment, if a big data consumer pre-registers a desired condition, for example, a condition that prioritizes cost over time, to the big data consumption device 120, the big data consumer device 120 configures the big data consumer's conditions. You can automatically select the big data analysis method that matches your needs.
빅데이터 소비 장치(120)는 선택된 빅데이터 분석 방식에 따른 빅데이터 분석 작업을 빅데이터 분석 장치(110)에게 요청할 수 있다. The big data consumption device 120 may request the big data analysis device 110 to perform a big data analysis task according to the selected big data analysis method.
빅데이터 분석 장치(110)는 빅데이터 소비 장치(120)에 의해 선택된 빅데이터 분석 방식에 기반하여 빅데이터를 수집하고 분석하며 저장할 수 있다. 빅데이터 분석 장치(110)는 빅데이터 분석 결과를 빅데이터 소비 장치(120)에 제공할 수 있다. The big data analysis device 110 can collect, analyze, and store big data based on the big data analysis method selected by the big data consumption device 120. The big data analysis device 110 may provide the big data analysis results to the big data consumption device 120.
빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)로부터 빅데이터를 수집할 수 있다. 빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)에 빅데이터를 요청할 수 있고, 요청에 따라 빅데이터 제공 장치(130)로부터 전송된 빅데이터를 수신할 수 있다. The big data analysis device 110 can collect big data from the big data providing device 130. The big data analysis device 110 may request big data from the big data providing device 130 and receive big data transmitted from the big data providing device 130 upon request.
빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)로부터 빅데이터 수집을 위한 자원을 할당받을 수 있다. 빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)로부터 할당받는 자원 및 빅데이터 제공 장치(130)로부터 빅데이터를 수집하는데 소요되는 시간을 관리할 수 있다. 빅데이터 제공 장치(130)의 비용 정책에 따라 빅데이터의 수집을 위한 비용은 달라질 수 있다. 예를 들어, 데이터 소스로서 구글 빅쿼리를 사용하는 경우, 데이터가 컬럼 단위로 저장되며, 저장되는 데이터의 크기와 데이터 쿼리시 스캔 되는 데이터의 컬럼을 기준으로 과금이 될 수 있다. 예를 들어, 플랫폼으로서 제1 플랫폼(예: 쿠버네티스)을 사용하는 경우, 컨테이너, 노드, 포드(pod) 등의 구성에 따라 소요되는 자원의 양이 달라질 수 있고, 이에 따라 소요되는 자원에 따라 과금되는 비용도 달라질 수 있다. 빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)의 플랫폼별 및 데이터 소스별 비용 정책에 기반하여, 작업(job)별 소요 시간 및 비용을 미리 예측하여 최적화된 비용과 자원을 확보할 수 있다. The big data analysis device 110 may be allocated resources for big data collection from the big data provision device 130. The big data analysis device 110 can manage the resources allocated from the big data providing device 130 and the time required to collect big data from the big data providing device 130. The cost for collecting big data may vary depending on the cost policy of the big data providing device 130. For example, when using Google Big Query as a data source, data is stored in column units, and charges can be made based on the size of the data stored and the column of data scanned when querying the data. For example, when using the first platform (e.g. Kubernetes) as a platform, the amount of resources required may vary depending on the configuration of containers, nodes, pods, etc., and the required resources may vary accordingly. Costs charged may also vary. The big data analysis device 110 can secure optimized costs and resources by predicting the time and cost for each job in advance based on the cost policy for each platform and data source of the big data provision device 130. there is.
빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)로부터 제공되는 빅데이터의 데이터 구조에 기반하여 비용에 영향을 미치는 자원 및 작업을 확인할 수 있다. 일 실시 예에서, 빅데이터 제공 장치(130)가 데이터 소스로서 구글 빅쿼리를 사용하는 경우, 빅데이터 분석 장치(110)는 쿼리 개수 및 쿼리당 데이터양 등을 확인할 수 있다. 다른 실시 예에서, 빅데이터 제공 장치(130)가 쿠버네티스 플랫폼을 사용하는 경우, 빅데이터 분석 장치(110)는 포드 개수, 포드의 라이브 시간(live time), 포드 별 자원 등을 확인할 수 있다. The big data analysis device 110 can check resources and tasks that affect costs based on the data structure of the big data provided from the big data provision device 130. In one embodiment, when the big data providing device 130 uses Google Big Query as a data source, the big data analysis device 110 can check the number of queries and the amount of data per query. In another embodiment, when the big data provision device 130 uses the Kubernetes platform, the big data analysis device 110 may check the number of pods, live time of the pod, resources for each pod, etc. .
빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)의 플랫폼별/데이터 소스별 비용 정책들을 크롤링(crawling)해서 비용 관련 정보들을 획득할 수 있다. The big data analysis device 110 may obtain cost-related information by crawling the cost policies for each platform/data source of the big data provision device 130.
빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)의 분석 대상에 관한 정보를 획득할 수 있다. 일 실시 예에서, 구글 빅쿼리의 데이터 구조는 프로젝트, 데이터 셋, 테이블 및 작업(job)의 논리 구조를 가질 수 있고, 구글 빅쿼리를 사용하는 경우, 빅데이터 분석 장치(110)는 데이터 셋 리스트, 테이블 리스트, 테이블의 스키마 정보(예를 들어, 컬럼 개수, 행 개수 등) 등을 획득할 수 있다. 하나의 프로젝트에는 복수 개의 데이터 셋이 포함될 수 있고, 데이터 셋은 복수 개의 테이블을 가지는 테이블 집합일 수 있다. 각 테이블은 실제 데이터를 저장하고 있으며, 작업(job)은 쿼리나 데이터 로딩, 삭제와 같이 데이터에 대해 내려진 명령을 의미할 수 있다. The big data analysis device 110 may obtain information about the analysis target of the big data providing device 130. In one embodiment, the data structure of Google Big Query may have a logical structure of project, data set, table, and job, and when using Google Big Query, the big data analysis device 110 creates a data set list. , table list, table schema information (for example, number of columns, number of rows, etc.) can be obtained. One project may include multiple data sets, and a data set may be a table set with multiple tables. Each table stores actual data, and a job can refer to a command given to data, such as a query, data loading, or deletion.
일 실시 예에서, 빅데이터 제공 장치(130)가 쿠버네티스 플랫폼을 사용하는 경우, 빅데이터 분석 장치(110)는 컨테이너 개수, 포드 개수, 각 포드의 자원 종류 등을 획득할 수 있다. 포드는 쿠버네티스의 가장 기본적인 데이터 배포 단위로서 하나 이상의 컨테이너를 포함할 수 있으며, 포드 내에 배포된 컨테이너 간에는 디스크 볼륨을 공유할 수 있다. In one embodiment, when the big data provision device 130 uses the Kubernetes platform, the big data analysis device 110 may obtain the number of containers, the number of pods, and the resource type of each pod. A pod is the most basic data distribution unit in Kubernetes and can contain one or more containers, and disk volumes can be shared between containers deployed within the pod.
빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)로부터 빅테이터를 쿼리하여 가져올 수 있으며, 쿼리 비용을 최소화하기 위해 테이블을 샘플링하고 필터링하며 랜덤화하는 3단계의 데이터 선택 과정을 수행할 수 있다. 3단계의 데이터 선택 과정에 대해서는 첨부된 도면들을 참조하여 상세히 후술하도록 한다. The big data analysis device 110 can query and retrieve big data from the big data provision device 130, and can perform a three-step data selection process of sampling, filtering, and randomizing tables to minimize query costs. there is. The three-stage data selection process will be described in detail later with reference to the attached drawings.
빅데이터 분석 장치(110)는 3단계의 데이터 선택 과정을 수행하여 선택된 빅데이터에 기반하여 기본적인 자원 환경에서의 총 작업 실행시간을 추론할 수 있다. 일 실시 예에서, 빅데이터 분석 장치(110)는 빅데이터 소비자에 의해 설정된 기본적인 자원 환경에서의 하나의 작업에 대한 최대 작업 실행 시간을 계산하고, 이를 토대로 작업을 수행하는 플랫폼에서 획득하고자 하는 총 데이터에 대한 총 작업 실행 시간을 예측할 수 있다. The big data analysis device 110 can perform a three-step data selection process and infer the total task execution time in the basic resource environment based on the selected big data. In one embodiment, the big data analysis device 110 calculates the maximum task execution time for one task in the basic resource environment set by the big data consumer, and calculates the total data to be acquired from the platform that performs the task based on this. The total task execution time can be predicted.
빅데이터 분석 장치(110)는 빅데이터 수집에 소요되는 자원에 따른 상대적인 처리 속도를 비교하고 빅데이터 수집에 의해 과금이 예상되는 비용을 예측할 수 있다. The big data analysis device 110 can compare the relative processing speed according to the resources required for big data collection and predict the cost expected to be charged for big data collection.
빅데이터 분석 장치(110)는 최종적으로 예측된 비용 관련 정보들을 테이블로 저장할 수 있다. 예를 들어, 빅데이터 분석 장치(110)는 쿠버네티스 플랫폼을 사용하는 경우에, 컨테이너의 개수, 포드의 개수, 각 포드의 자원 종류, 작업의 총 실행 시간, 및 총 비용을 테이블로 출력할 수 있다. The big data analysis device 110 may store the final predicted cost-related information in a table. For example, when using the Kubernetes platform, the big data analysis device 110 outputs the number of containers, the number of pods, the resource type of each pod, the total execution time of the task, and the total cost in a table. You can.
도 2는 다양한 실시 예들에 따른 빅데이터 분석 장치(110)를 도시한 블록도이다.FIG. 2 is a block diagram illustrating a big data analysis device 110 according to various embodiments.
도 2를 참조하면, 빅데이터 분석 장치(110)는 비용 관리부(210), 빅데이터 관리부(220), 및 시스템 제어부(230)를 포함할 수 있다. Referring to FIG. 2, the big data analysis device 110 may include a cost management unit 210, a big data management unit 220, and a system control unit 230.
비용 관리부(210)는 빅데이터 분석에 소요되는 시간 및 비용을 예측하기 위한 동작들을 수행할 수 있다. The cost management unit 210 may perform operations to predict the time and cost required for big data analysis.
비용 관리부(210)는 빅데이터 제공 장치(130)로부터 빅데이터 수집을 위한 자원을 할당받을 수 있다. 빅데이터 분석 장치(110)는 빅데이터 제공 장치(130)로부터 할당받는 자원 및 빅데이터 제공 장치(130)로부터 빅데이터를 수집하는데 소요되는 시간을 관리할 수 있다. 빅데이터 제공 장치(130)의 비용 정책에 따라 빅데이터의 수집을 위한 비용은 달라질 수 있다. 예를 들어, 데이터 소스로서 구글 빅쿼리를 사용하는 경우, 데이터가 컬럼 단위로 저장되며, 저장되는 데이터의 크기와 데이터 쿼리시 스캔 되는 데이터의 컬럼을 기준으로 과금이 될 수 있다. 예를 들어, 플랫폼으로서 쿠버네티스를 사용하는 경우, 컨테이너, 노드, 포드(pod) 등의 구성에 따라 소요되는 자원의 양이 달라질 수 있고, 이에 따라 소요되는 비용도 달라질 수 있다. 비용 관리부(210)는 빅데이터 제공 장치(130)의 플랫폼별 및 데이터 소스별 비용 정책에 기반하여, 작업(job)별 소요 시간 및 비용을 미리 예측하여 최적화된 비용과 자원을 확보할 수 있다. The cost management unit 210 may be allocated resources for big data collection from the big data providing device 130. The big data analysis device 110 can manage the resources allocated from the big data providing device 130 and the time required to collect big data from the big data providing device 130. The cost for collecting big data may vary depending on the cost policy of the big data providing device 130. For example, when using Google Big Query as a data source, data is stored in column units, and charges can be made based on the size of the data stored and the column of data scanned when querying the data. For example, when using Kubernetes as a platform, the amount of resources required may vary depending on the configuration of containers, nodes, pods, etc., and the costs required may also vary accordingly. The cost management unit 210 can secure optimized costs and resources by predicting the time and cost for each job in advance based on the cost policy for each platform and data source of the big data provision device 130.
비용 관리부(210)는 빅데이터 제공 장치(130)로부터 제공되는 빅데이터의 데이터 구조에 기반하여 비용에 영양을 미치는 자원 및 작업을 확인할 수 있다. 일 실시 예에서, 빅데이터 제공 장치(130)가 데이터 소스로서 구글 빅쿼리를 사용하는 경우, 비용 관리부(210)는 쿼리 개수 및 쿼리당 데이터양 등을 확인할 수 있다. 다른 실시 예에서, 빅데이터 제공 장치(130)가 쿠버네티스 플랫폼을 사용하는 경우, 비용 관리부(210)는 포드 개수, 포드의 라이브 시간(live time), 포드의 자원 등을 확인할 수 있다. The cost management unit 210 can identify resources and tasks that affect costs based on the data structure of the big data provided from the big data providing device 130. In one embodiment, when the big data providing device 130 uses Google Big Query as a data source, the cost management unit 210 can check the number of queries and the amount of data per query. In another embodiment, when the big data provision device 130 uses the Kubernetes platform, the cost management unit 210 may check the number of pods, the live time of the pod, and the resources of the pod.
비용 관리부(210)는 빅데이터 제공 장치(130)의 플랫폼별/데이터 소스별 비용 정책들을 크롤링(crawling) 해서 비용 관련 정보들을 획득할 수 있다. The cost management unit 210 may obtain cost-related information by crawling the cost policies for each platform/data source of the big data provision device 130.
비용 관리부(210)는 빅데이터 제공 장치(130)의 분석 대상에 관한 정보를 획득할 수 있다. 일 실시 예에서, 빅데이터 구글 빅쿼리의 데이터 구조는 프로젝트, 데이터 셋, 테이블 및 작업(job)의 논리 구조를 가질 수 있고, 구글 빅쿼리를 사용하는 경우, 비용 관리부(210)는 데이터 셋 리스트, 테이블 리스트, 테이블의 스키마 정보(예를 들어, 컬럼 개수, 행 개수 등) 등을 획득할 수 있다. The cost management unit 210 may obtain information about the analysis target of the big data providing device 130. In one embodiment, the data structure of big data Google Big Query may have a logical structure of project, data set, table, and job, and when using Google Big Query, the cost management unit 210 creates a data set list. , table list, table schema information (for example, number of columns, number of rows, etc.) can be obtained.
일 실시 예에서, 빅데이터 제공 장치(130)가 쿠버네티스 플랫폼을 사용하는 경우, 비용 관리부(210)는 컨테이너 개수, 포드 개수, 각 포드의 자원 종류 등을 획득할 수 있다. In one embodiment, when the big data providing device 130 uses the Kubernetes platform, the cost management unit 210 may obtain the number of containers, the number of pods, and the resource type of each pod.
비용 관리부(210)는 빅데이터 제공 장치(130)로부터 빅테이터를 쿼리하여 가져올 수 있으며, 쿼리 비용을 최소화하기 위해 테이블을 샘플링하고 필터링하며 랜덤화하는 3단계의 데이터 선택 과정을 수행할 수 있다. 3단계의 데이터 선택 과정에 대해서는 첨부된 도면들을 참조하여 상세히 후술하도록 한다. The cost management unit 210 can query and retrieve big data from the big data providing device 130, and can perform a three-stage data selection process of sampling, filtering, and randomizing tables to minimize query costs. The three-stage data selection process will be described in detail later with reference to the attached drawings.
비용 관리부(210)는 3단계의 데이터 선택 과정을 수행하여 선택된 빅데이터에 기반하여 기본적인 자원 환경에서의 총 작업 실행시간을 추론할 수 있다. 일 실시 예에서, 비용 관리부(210)는 빅데이터 소비자에 의해 설정된 기본적인 자원 환경에서의 하나의 작업에 대한 최대 작업 실행 시간을 계산하고, 이를 토대로 작업을 수행하는 플랫폼에서 획득하고자 하는 총 데이터에 대한 총 작업 실행 시간을 예측할 수 있다. 일 실시 예에서, 비용 관리부(210)는 빅데이터 수집에 소요되는 자원에 따른 상대적인 처리 속도를 비교하고 예상 비용을 예측할 수 있다. The cost management unit 210 can perform a three-step data selection process to infer the total task execution time in the basic resource environment based on the selected big data. In one embodiment, the cost management unit 210 calculates the maximum task execution time for one task in the basic resource environment set by the big data consumer, and based on this, calculates the total data to be acquired from the platform performing the task. The total task execution time can be predicted. In one embodiment, the cost management unit 210 can compare relative processing speeds according to resources required for big data collection and predict expected costs.
비용 관리부(210)는 최종적으로 예측된 비용 관련 정보들을 테이블로 확보할 수 있다. 예를 들어, 비용 관리부(210)는 쿠버네티스 플랫폼을 사용하는 경우에 컨테이너의 개수, 포드의 개수, 각 포드의 자원 종류, 작업의 총 실행 시간, 및 총 비용을 테이블로 출력할 수 있다. The cost management unit 210 can secure the final predicted cost-related information in a table. For example, when using the Kubernetes platform, the cost management unit 210 can output the number of containers, the number of pods, the resource type of each pod, the total execution time of the task, and the total cost in a table.
비용 관리부(210)는 빅데이터 분석 비용에 관한 조건을 설정할 수 있다. 빅데이터 분석 비용 조건은 빅데이터 소비 장치(120)로 제공되는 빅데이터 분석의 제한 비용 및 빅데이터 분석 시간 관련 정보를 포함할 수 있다. 비용 관리부(210)는 빅데이터 소비 장치(120)로부터 빅데이터 분석 비용 예측을 위한 우선순위를 수신할 수 있다. 예를 들어, 빅데이터 소비 장치(120)의 요청에 기반하여 빅데이터 분석 비용이 빅데이터 분석 시간보다 우선순위를 가지도록 설정될 수 있다. The cost management unit 210 can set conditions regarding big data analysis costs. Big data analysis cost conditions may include information related to the limited cost of big data analysis provided by the big data consumption device 120 and big data analysis time. The cost management unit 210 may receive priorities for predicting big data analysis costs from the big data consumption device 120. For example, based on the request of the big data consumption device 120, the big data analysis cost may be set to have priority over the big data analysis time.
일 실시 예에서, 비용 관리부(210)는 빅데이터 소비 장치(120)의 요청에 기반하여 빅데이터 분석 시간보다 빅데이터 분석 비용이 우선적으로 고려된 빅데이터 분석 방식을 선택할 수 있다. In one embodiment, the cost management unit 210 may select a big data analysis method in which big data analysis cost is prioritized over big data analysis time based on a request from the big data consumption device 120.
빅데이터 관리부(220)는 데이터 자원 관리부(221), 데이터 관리부 (223), 데이터 저장소(225), 및 데이터 전송부(227)를 포함할 수 있다. The big data management unit 220 may include a data resource management unit 221, a data management unit 223, a data storage 225, and a data transmission unit 227.
데이터 자원 관리부(221)는 데이터 자원에 대한 정보를 관리할 수 있다. 자원 관리부(221)는 빅데이터 제공 장치(130)로부터 데이터를 수집할 수 있다. 데이터 자원 관리부(221)는 빅데이터 제공 장치(130)에 데이터를 요청할 수 있고, 요청에 따라 빅데이터 제공 장치(130)로부터 전송된 데이터를 수신할 수 있다. The data resource management unit 221 can manage information about data resources. The resource management unit 221 may collect data from the big data providing device 130. The data resource management unit 221 may request data from the big data providing device 130 and receive data transmitted from the big data providing device 130 upon request.
데이터 관리부(223)는 데이터에 대한 검토를 수행할 수 있고, 데이터에 대한 수정이 요구되는 경우 데이터를 수정할 수 있다. The data management unit 223 may review the data and, if modification to the data is required, may modify the data.
데이터 관리부(223)는 빅데이터 분석 장치(110)에 저장된 데이터 및 빅데이터 제공 장치(130)로부터 제공되는 데이터를 확보할 수 있다. The data management unit 223 may secure data stored in the big data analysis device 110 and data provided from the big data providing device 130.
데이터 관리부(223)는 빅데이터 소비 장치(120)에 의해 설정된 빅데이터 분석 비용 조건에 기반하여 데이터 분석을 위한 작업을 수행할 수 있다. The data management unit 223 may perform data analysis tasks based on the big data analysis cost conditions set by the big data consumption device 120.
데이터 관리부(223)는 빅데이터 제공 장치(130)로부터 제공되는 데이터 및/또는 분석된 데이터를 데이터 저장소(225)에 저장할 수 있다. The data management unit 223 may store data provided from the big data providing device 130 and/or analyzed data in the data storage 225.
데이터 전송부(227)는 분석된 데이터를 빅데이터 소비 장치(120)로 전송할 수 있다. The data transmission unit 227 may transmit the analyzed data to the big data consumption device 120.
시스템 제어부(230)는 비용 관리부(210) 및 빅데이터 관리부(220) 간의 명령어(instruction)들을 실행하기 위한 처리 프로세스를 관리 및 제어할 수 있다. 시스템 제어부(230)는 빅데이터 분석 장치(110) 및 빅데이터 소비 장치(120) 간의 명령어들을 처리할 수 있다. 시스템 제어부(230)는 적어도 하나의 하드웨어 프로세서(processor)일 수 있다.The system control unit 230 may manage and control a processing process for executing instructions between the cost management unit 210 and the big data management unit 220. The system control unit 230 can process commands between the big data analysis device 110 and the big data consumption device 120. The system control unit 230 may be at least one hardware processor.
일 실시 예에 따르면, 비용 관리부(210), 빅데이터 관리부(220), 시스템 제어부(230), 데이터 자원 관리부(221), 데이터 관리부(223), 데이터 저장소(225), 및 데이터 전송부(227)의 적어도 일부는 프로그램 모듈들일 수 있으며, 외부의 장치 또는 시스템과 통신할 수 있다. 프로그램 모듈들은 운영 체제, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 빅데이터 제공 장치(100)에 포함될 수 있다.According to one embodiment, the cost management unit 210, the big data management unit 220, the system control unit 230, the data resource management unit 221, the data management unit 223, the data storage 225, and the data transmission unit 227. ) may be program modules and may communicate with an external device or system. Program modules may be included in the big data provision device 100 in the form of an operating system, application program module, and other program modules.
도 3은 다양한 실시 예들에 따른 빅데이터 분석 장치(110)의 동작을 설명하기 위한 도면이다. FIG. 3 is a diagram for explaining the operation of the big data analysis device 110 according to various embodiments.
본 개시에서는 설명의 편의를 위해 빅데이터 제공 장치(130)가 구글 빅쿼리와 쿠버네티스인 경우를 예로 들어 설명하지만 빅데이터를 제공하는 다른 장치들에 대하여도 동일한 기술적 사상이 적용될 수 있음은 당업자에게 자명하다. In this disclosure, for convenience of explanation, the case where the big data providing device 130 is Google Big Query and Kubernetes is taken as an example, but it is understood by those skilled in the art that the same technical idea can be applied to other devices providing big data. It is self-explanatory.
도 3을 참조하면, 동작 310에서, 빅데이터 분석 장치는 빅데이터 제공 장치의 플랫폼별 및/또는 데이터 소스별 비용 정책을 획득할 수 있다. 구글 빅쿼리, 쿠버네티스 등을 사용하는 빅데이터 제공 장치는 비용 정책을 공개하고 있으며, 빅데이터 분석 장치는 빅데이터 제공 장치에서 제공하는 비용 정책을 크롤링하여 비용 관련 정보들을 획득할 수 있다. Referring to FIG. 3, in operation 310, the big data analysis device may obtain a cost policy for each platform and/or data source of the big data providing device. Big data provision devices using Google Big Query, Kubernetes, etc. disclose cost policies, and big data analysis devices can obtain cost-related information by crawling the cost policies provided by big data provision devices.
일 실시 예에서, 데이터 소스로서 구글 빅쿼리를 사용하는 경우, 빅쿼리의 데이터 구조는 프로젝트, 데이터 셋, 테이블 및 작업(job)의 논리 구조를 가질 수 있고, 빅데이터 분석 장치(110)는 데이터 셋 리스트, 테이블 리스트, 테이블의 스키마 정보(예를 들어, 컬럼 개수, 행 개수 등) 등을 획득할 수 있다. 하나의 프로젝트에는 복수 개의 데이터 셋이 포함될 수 있고, 데이터 셋은 복수 개의 테이블을 가지는 테이블 집합일 수 있다. 테이블은 실제 데이터를 저장하고 있으며, 작업(job)은 쿼리나 데이터 로딩, 삭제와 같이 데이터에 대해 내려진 명령을 의미할 수 있다. In one embodiment, when using Google Big Query as a data source, the data structure of Big Query may have a logical structure of project, data set, table, and job, and the big data analysis device 110 stores the data. You can obtain set list, table list, table schema information (for example, number of columns, number of rows, etc.). One project may include multiple data sets, and a data set may be a table set with multiple tables. Tables store actual data, and jobs can refer to commands issued to data, such as queries, data loading, or deletion.
일 실시 예에서, 빅데이터 제공 장치(130)가 쿠버네티스 플랫폼을 사용하는 경우, 빅데이터 분석 장치(110)는 컨테이너 개수, 포드 개수, 각 포드의 자원 종류 등을 획득할 수 있다. 포드는 쿠버네티스의 가장 기본적인 데이터 배포 단위로서 하나 이상의 컨테이너를 포함할 수 있으며, 포드 내에 배포된 컨테이너 간에는 디스크 볼륨을 공유할 수 있다.In one embodiment, when the big data provision device 130 uses the Kubernetes platform, the big data analysis device 110 may obtain the number of containers, the number of pods, and the resource type of each pod. A pod is the most basic data distribution unit in Kubernetes and can contain one or more containers, and disk volumes can be shared between containers deployed within the pod.
동작 320에서, 빅데이터 분석 장치는 분석할 빅데이터에 관한 정보를 획득할 수 있다. 빅데이터 분석 장치는 빅데이터 제공 장치(130)로부터 제공되는 빅데이터의 데이터 구조에 기반하여 비용에 영양을 미치는 자원 및 작업을 확인할 수 있다. 일 실시 예에서, 빅데이터 제공 장치가 데이터 소스로서 구글 빅쿼리를 사용하는 경우, 빅데이터 분석 장치는 쿼리 개수 및 쿼리당 데이터양 등을 확인할 수 있다. 다른 실시 예에서, 빅데이터 제공 장치가 쿠버네티스 플랫폼을 사용하는 경우, 빅데이터 분석 장치는 포드 개수, 포드의 라이브 시간(live time), 포드별 자원 등을 확인할 수 있다.In operation 320, the big data analysis device may obtain information about the big data to be analyzed. The big data analysis device can identify resources and tasks that affect costs based on the data structure of the big data provided from the big data provision device 130. In one embodiment, when the big data providing device uses Google Big Query as a data source, the big data analysis device can check the number of queries and the amount of data per query. In another embodiment, when the big data providing device uses the Kubernetes platform, the big data analysis device can check the number of pods, live time of the pods, resources for each pod, etc.
동작 330에서, 빅데이터 분석 장치는 빅데이터 분석을 위한 임의의 데이터를 획득할 수 있다. 빅데이터 분석 장치는 빅데이터 제공 장치(130)로부터 빅테이터를 쿼리하여 가져올 수 있으며, 쿼리 비용을 최소화하기 위해 테이블을 샘플링하고 필터링하며 랜덤화하는 3단계의 데이터 선택 과정을 수행할 수 있다. 3단계의 데이터 선택 과정에 대해서는 첨부된 도면들을 참조하여 상세히 후술하도록 한다.In operation 330, the big data analysis device may acquire arbitrary data for big data analysis. The big data analysis device can query and retrieve big data from the big data providing device 130, and can perform a three-step data selection process of sampling, filtering, and randomizing the table to minimize query costs. The three-stage data selection process will be described in detail later with reference to the attached drawings.
동작 340에서, 빅데이터 분석 장치는 동작 310 내지 330에서 획득한 정보들에 기반하여 기본적인 자원 환경에서의 작업 실행 시간을 예측할 수 있다. 일 실시 예에서, 빅데이터 분석 장치는 빅데이터 소비자에 의해 설정된 기본적인 자원 환경에서의 하나의 작업에 대한 최대 작업 실행 시간을 계산하고, 이를 토대로 작업을 수행하는 플랫폼에서 획득하고자 하는 총 데이터에 대한 총 작업 실행 시간을 예측할 수 있다. 일 실시 예에서, 빅데이터 분석 장치는 컬럼 이름/종류에 기반한 해당 컬럼의 분석 스킵(skip) 여부 등을 판단할 수 있고, 이에 따른 시스템 성능에 기반하여 총 필터링 시간을 산정할 수 있다. 일 실시 예에서, 빅데이터 분석 장치는 3단계의 데이터 선택 과정을 수행하는 데 소요되는 시간은 데이터양에 따라 유추할 수 있으며, 네트워크 상황을 추가로 고려할 수 있다. In operation 340, the big data analysis device may predict the task execution time in the basic resource environment based on the information obtained in operations 310 to 330. In one embodiment, the big data analysis device calculates the maximum task execution time for one task in the basic resource environment set by the big data consumer, and based on this, calculates the total data to be acquired from the platform performing the task. Task execution time can be predicted. In one embodiment, the big data analysis device can determine whether to skip analysis of the corresponding column based on the column name/type, and calculate the total filtering time based on system performance. In one embodiment, the big data analysis device can infer the time required to perform the three-step data selection process depending on the amount of data, and can additionally consider network conditions.
동작 350에서, 빅데이터 분석 장치는 자원에 따른 빅데이터 수집에 소요되는 자원에 따른 상대적인 처리 속도를 비교하고 예상 비용을 산출할 수 있다. 일 실시 예에서, 쿠버네티스 등의 빅데이터 플랫폼에서 노드(node) 혹은 포드를 제공함에 있어서 자원별로 비용이 다를 수 있으므로, 빅데이터 분석 장치는 작업을 수행할 때 자원 변화에 따른 성능 및 비용을 예측할 수 있다. 예를 들어, 빅데이터 분석 장치는 비교적 충분한 용량의 메모리를 사용하여 쿼리를 진행하면 용량이 작은 메모리를 사용하여 쿼리를 진행하는 것보다 처리 속도를 높일 수 있다. 따라서 빅데이터 분석 장치는 각각의 플랫폼에서 제공하는 자원별 처리속도와 비용을 산출할 수 있고, 이에 따라 원하는 비용의 자원을 선택하거나 소비자로 하여금 선택하도록 할 수 있다. In operation 350, the big data analysis device may compare relative processing speeds according to resources required to collect big data and calculate an expected cost. In one embodiment, the cost may vary for each resource when providing a node or pod in a big data platform such as Kubernetes, so the big data analysis device adjusts performance and cost according to resource changes when performing a task. It is predictable. For example, if a big data analysis device performs a query using a relatively large memory, processing speed can be increased compared to querying using a small memory. Therefore, the big data analysis device can calculate the processing speed and cost for each resource provided by each platform, and accordingly select the resource with the desired cost or allow the consumer to choose.
동작 360에서, 빅데이터 분석 장치는 최종적으로 예측된 비용 관련 정보들을 테이블로 확보할 수 있다. 예를 들어, 빅데이터 분석 장치는 쿠버네티스 플랫폼을 사용하는 경우에, 컨테이너의 개수, 포드의 개수, 각 포드의 자원 종류, 작업의 총 실행 시간, 및 총 비용을 테이블로 출력할 수 있다. In operation 360, the big data analysis device can secure the final predicted cost-related information in a table. For example, when using the Kubernetes platform, the big data analysis device can output the number of containers, number of pods, resource type of each pod, total execution time of the task, and total cost in a table.
하기의 [표 1]은 CPU(central processing unit)의 처리 속도, 메모리의 용량, 디스크 크기, 네트워크 대역폭의 조합에 따른 자원 종류(resource type)가 5가지로 구성된 경우 1개의 작업(job)에 대한 처리 속도 및 이에 따른 비용을 도출한 결과를 예로 나타낸 것이다. [Table 1] below shows the data for one job when there are five resource types depending on the combination of CPU (central processing unit) processing speed, memory capacity, disk size, and network bandwidth. This example shows the results of processing speed and resulting costs.
resource typeresource type CPUCPU 메모리Memory 디스크 크기disk size 네트워크 대역폭network bandwidth ...... 1개의 job에 대한 처리속도Processing speed for one job 비용expense
1One lowlow 64GB64GB 30GB30GB 1Mbps1Mbps 1H 10MIN1H 10MIN ₩XXXXXX
22 midmid 64GB64GB 30GB30GB 1Mbps1Mbps 1H1H ₩XXX₩XXX
33 midmid 128GB128GB 100GB100GB 10Mbps10Mbps 30MIN30MIN ₩XXX₩XXX
44 highhigh 128GB128GB 100GB100GB 1Gbps1Gbps 10MIN10MIN ₩XXX₩XXX
55 highhigh 256GB256GB 1TB1TB 1Gbps1Gbps 3MIN3MIN ₩XXX₩XXX
도 4는 다양한 실시 예들에 따른 빅데이터 분석 장치의 동작을 설명하기 위한 도면이다. 일 실시 예에서, 빅데이터 분석 장치는 도 1의 빅데이터 분석 장치(110) 또는 도 2의 빅데이터 분석 장치(110)와 실질적으로 동일한 장치일 수 있다.도 4를 참조하면, 빅데이터 제공 장치가 데이터 소스로서 구글 빅쿼리를 사용하는 경우, 빅쿼리(410)는 복수 개의 데이터 셋들(Dataset #1 쪋 Dataset #N)(401,402)를 포함할 수 있다. 복수 개의 데이터 셋들 각각은 복수 개의 테이블(420)을 포함할 수 있다. 빅쿼리 이외의 다른 데이터 소스들도 도 4와 유사한 데이터 구조를 가질 수 있다. Figure 4 is a diagram for explaining the operation of a big data analysis device according to various embodiments. In one embodiment, the big data analysis device may be a device that is substantially the same as the big data analysis device 110 of FIG. 1 or the big data analysis device 110 of FIG. 2. Referring to FIG. 4, the big data providing device When using Google Big Query as a data source, Big Query 410 may include a plurality of data sets (Dataset #1 and Dataset #N) 401 and 402. Each of the plurality of data sets may include a plurality of tables 420. Other data sources other than BigQuery may also have a data structure similar to that of FIG. 4.
빅데이터 분석 장치는 복수 개의 데이터 셋들로부터 데이터 셋 리스트, 데이터 셋별 테이블과 컬럼 리스트 정보를 획득할 수 있다. A big data analysis device can obtain a data set list and table and column list information for each data set from a plurality of data sets.
빅데이터 분석 장치는 데이터 셋에 포함된 테이블(420)에 기반한 빅데이터 분석을 위해 컬럼 단위(421)로 데이터를 읽어오며, 테이블(420)에 기반하여 테이블에 관한 정보들, 예를 들어 행 개수, 컬럼 개수를 확인할 수 있고, 컬럼 이름/종류에 기반한 해당 컬럼의 분석 스킵(skip) 여부 등을 판단할 수 있다. 일 실시 예에서, 빅데이터 분석 장치는 컬럼 이름에 특정 문자가 포함된 경우 해당 컬럼을 분석하지 않고 스킵하도록 설정할 수 있다. 다른 실시 예에서 빅데이터 분석 장치는 컬럼의 종류가 "int"인 경우 해당 컬럼을 분석하지 않고 스킵하도록 설정할 수 있다. 또 다른 실시 예에서 모델 추론(model inference) 기법에 따라, 빅데이터 분석 장치는 각 컬럼의 조합에 기반하여 분석 대상을 제외시킬 수도 있다. 예를 들어, 사용자 정보는 분석 대상에 포함되지만, 디바이스 정보는 분석 대상에 포함되지 않을 경우, 빅데이터 분석 장치는 "user"와 "name"이라는 컬럼 조합에 대해, "name"은 사용자 이름으로 유추하여 분석 대상에 포함시키고, "model_id"와 "name"이라는 조합에 대해, "name"은 디바이스 정보로 유추하여 분석 대상에서 제외시킬 수 있다. The big data analysis device reads data in column units (421) for big data analysis based on the table (420) included in the data set, and based on the table (420), information about the table, for example, the number of rows. , you can check the number of columns and determine whether to skip the analysis of the column based on the column name/type. In one embodiment, the big data analysis device can be set to skip the column without analyzing it if the column name includes a specific character. In another embodiment, the big data analysis device may be set to skip the column without analyzing it if the column type is "int". In another embodiment, according to a model inference technique, the big data analysis device may exclude analysis targets based on the combination of each column. For example, if user information is included in the analysis target, but device information is not included in the analysis target, the big data analysis device infers the combination of columns "user" and "name", where "name" is the user name. and included in the analysis target, and for the combination of "model_id" and "name", "name" can be inferred as device information and excluded from the analysis target.
도 5는 다양한 실시 예들에 따른 빅데이터 분석 장치의 동작을 설명하기 위한 도면이다. 일 실시 예에서, 빅데이터 분석 장치는 도 1의 빅데이터 분석 장치(110) 또는 도 2의 빅데이터 분석 장치(110)와 실질적으로 동일한 장치일 수 있다. Figure 5 is a diagram for explaining the operation of a big data analysis device according to various embodiments. In one embodiment, the big data analysis device may be a device that is substantially the same as the big data analysis device 110 of FIG. 1 or the big data analysis device 110 of FIG. 2.
빅데이터 분석 장치는 빅데이터 분석을 위해 빅데이터 제공 장치로부터 빅데이터를 읽어올 때 전체 데이터를 읽어오면 데이터의 양이 매우 많아서 데이터를 읽어오는데 필요한 자원 및 시간이 많이 소요되고 그만큼 비용도 증가하게 된다. 따라서 빅데이터 분석 장치는 효율적인 빅데이터 분석을 위해 일부 데이터를 쿼리하여 가져오되, 컬럼 데이터 전체를 대표할 수 있도록 랜덤하게 데이터를 읽어올 수 있다. 다양한 실시 예에 따라 빅데이터 분석 장치는 최소 비용으로 빅데이터를 분석하기 위해 3단계 쿼리를 진행할 수 있다. When a big data analysis device reads big data from a big data provision device for big data analysis, if the entire data is read, the amount of data is very large, so it takes a lot of resources and time to read the data, and the cost increases accordingly. . Therefore, the big data analysis device queries and retrieves some data for efficient big data analysis, but can read the data randomly to represent the entire column data. According to various embodiments, a big data analysis device may perform a three-step query to analyze big data at minimal cost.
도 5를 참조하면, 동작 501에서, 빅데이터 분석 장치는 테이블 샘플링을 수행할 수 있다. Referring to FIG. 5, in operation 501, the big data analysis device may perform table sampling.
빅데이터 분석 장치는 빅데이터 제공 장치의 데이터소스의 물리적 구성에 기반하여 테이블 샘플링을 수행할 수 있다. 예를 들어, 구글 빅쿼리의 데이터가 1기가 단위의 블록으로 구성되어 있고, 분석하고자 하는 테이블의 컬럼 데이터가 3기가인 경우, 분석하고자 하는 테이블의 컬럼 데이터는 1기가짜리 블록 3개로 저장될 수 있으며, 빅데이터 분석 장치는 분석하고자 하는 테이블이 포함된 3개의 블록 중 하나의 블록, 즉 1기가의 데이터만을 샘플링하여 쿼리함으로써 비용을 절감할 수 있다. The big data analysis device can perform table sampling based on the physical configuration of the data source of the big data providing device. For example, if the data of Google Big Query consists of blocks of 1 GB, and the column data of the table you want to analyze is 3 GB, the column data of the table you want to analyze can be stored in three 1 GB blocks. In addition, the big data analysis device can reduce costs by sampling and querying only one block out of three blocks containing the table to be analyzed, that is, 1 GB of data.
동작 502에서, 빅데이터 분석 장치는 샘플링된 테이블에서 가져오는 데이터가 대표성을 가지도록 분포수에 기반한 필터링을 수행할 수 있다. 예를 들어, 빈도수(ordering)에 기반한 필터링을 수행할 경우, 빅데이터 분석 장치는 샘플링된 테이블에서 상위 n개의 데이터만을 필터링할 수 있다. In operation 502, the big data analysis device may perform filtering based on the distribution number so that data retrieved from the sampled table is representative. For example, when performing filtering based on frequency (ordering), the big data analysis device can filter only the top n data from the sampled table.
동작 503에서, 빅데이터 분석 장치는 데이터 분석 시간 및/또는 비용을 최소화하기 위하여, 분포수에 기반하여 필터링된 n 개의 데이터들 중 최종적으로 최대 N개의 데이터를 랜덤하게 선택할 수 있다. In operation 503, the big data analysis device may finally randomly select up to N pieces of data among the n pieces of data filtered based on the distribution number in order to minimize data analysis time and/or cost.
일 실시 예에서 빅데이터 분석 장치는 3단계 쿼리를 진행함으로써 하나의 컬럼 데이터를 분석하기 위해 필요한 시간과 자원을 예측할 수 있다. 일 실시 예에서 빅데이터 분석 장치는 하나의 컬럼 데이터를 분석하기 위해 필요한 시간과 자원에 기반하여 실제로 원하는 작업들을 수행하는데 필요한 자원, 작업 실행 시간 및 비용을 예측할 수 있으며, 예측 결과를 테이블로 확보할 수 있다. 예를 들어, 빅데이터 분석 장치는 쿠버네티스 플랫폼을 사용하는 경우에, 컨테이너의 개수, 포드의 개수, 각 포드의 자원 종류, 작업의 총 실행 시간, 및 총 비용을 테이블로 출력할 수 있다. 일 실시 예에서 컨테이너의 개수는 포드들이 자원을 공유할 수 있는 환경에 따라 달라질 수 있다. 일 실시 예에서 각 포드의 자원 종류는 CPU 종류, 메모리, 디스크 공간, 네트워크 할당 등에 따라 달라질 수 있다. In one embodiment, a big data analysis device can predict the time and resources needed to analyze one column data by performing a three-step query. In one embodiment, the big data analysis device can predict the resources, task execution time, and cost required to actually perform desired tasks based on the time and resources required to analyze one column data, and secure the prediction results in a table. You can. For example, when using the Kubernetes platform, the big data analysis device can output the number of containers, number of pods, resource type of each pod, total execution time of the task, and total cost in a table. In one embodiment, the number of containers may vary depending on the environment in which pods can share resources. In one embodiment, the resource type of each pod may vary depending on CPU type, memory, disk space, network allocation, etc.
도 6은 다양한 실시 예들에 따른 빅데이터 분석 장치의 3단계 쿼리의 예시를 나타낸 도면이다. Figure 6 is a diagram showing an example of a three-step query of a big data analysis device according to various embodiments.
도 6을 참조하면, 빅데이터 분석 장치는, "TABLESAMPLE SYSTEM(50 PERCENT)" 쿼리를 통해 테이블 샘플링을 수행할 수 있다(601). Referring to FIG. 6, the big data analysis device can perform table sampling through the “TABLESAMPLE SYSTEM (50 PERCENT)” query (601).
빅데이터 분석 장치는, 601에서 샘플링된 테이블 중, “데이터 분석 장치는칼럼> ORDER BY 2 DESC LIMIT XX이를 통해 빈도수(order)를 기준으로 XX개를 필터링할 수 있다(602).The big data analysis device can filter XX of the tables sampled in 601 based on the frequency (order) through “Column> ORDER BY 2 DESC LIMIT XX” (602).
빅데이터 분석 장치는, 602에서 필터링 된 XX개의 테이블에 대해, “데이터 분석 장치는, 602에서 필터를 통해 20%의 테이블로 랜덤화를 수행할 수 있다(603).The big data analysis device, for the XX tables filtered at 602, says, “The data analysis device can perform randomization to 20% of the tables through the filter at 602 (603).
도 7은 다양한 실시 예들에 따른 빅데이터 분석 장치를 구현한 전자 장치를 도시한 도면이다.FIG. 7 is a diagram illustrating an electronic device implementing a big data analysis device according to various embodiments.
도 7을 참조하면, 전자 장치(700)는 빅데이터 분석 장치(110)로서 동작하는 범용의 컴퓨터 시스템일 수 있다. 전자 장치(700)는 처리부(710), 통신부(720), 메모리(730), 저장소(740) 및 버스(790) 중 적어도 일부를 포함할 수 있다. 처리부(710), 통신부(720), 메모리(730) 및 저장소(740) 등과 같은 전자 장치(700)의 구성요소들은 버스(790)를 통해 서로 간에 통신할 수 있다. Referring to FIG. 7 , the electronic device 700 may be a general-purpose computer system that operates as a big data analysis device 110. The electronic device 700 may include at least a portion of a processing unit 710, a communication unit 720, a memory 730, a storage 740, and a bus 790. Components of the electronic device 700, such as the processing unit 710, the communication unit 720, the memory 730, and the storage 740, may communicate with each other through the bus 790.
처리부(710)는 메모리(730) 또는 저장소(740)에 저장된 프로세싱(processing) 명령어(instruction)들을 실행하는 반도체 장치일 수 있다. 예를 들면, 처리부(710)는 적어도 하나의 하드웨어 프로세서(processor)일 수 있다. 처리부(710)는 전자 장치(700)의 동작을 위해 요구되는 작업들을 처리할 수 있다. 처리부(710)는 실시 예들에서 설명된 처리부(710)의 동작 또는 단계의 코드를 실행(execute)할 수 있다. 처리부(710)는 실시 예들에서 설명된 정보의 생성, 저장 및 출력을 수행할 수 있으며, 전자 장치(700)에서 이루어지는 동작들을 수행할 수 있다. 일 실시 예에서, 처리부(710)는 도 2의 시스템 제어부(230)와 동일하거나 유사한 동작들을 수행할 수 있다. The processing unit 710 may be a semiconductor device that executes processing instructions stored in the memory 730 or storage 740. For example, the processing unit 710 may be at least one hardware processor. The processing unit 710 can process tasks required for the operation of the electronic device 700. The processing unit 710 may execute the code of the operation or step of the processing unit 710 described in the embodiments. The processing unit 710 may generate, store, and output information described in the embodiments, and may perform operations performed in the electronic device 700. In one embodiment, the processing unit 710 may perform the same or similar operations as the system control unit 230 of FIG. 2.
통신부(720)는 네트워크(799)에 연결될 수 있다. 전자 장치(700)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 전자 장치(700)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 통신부(720)는 네트워크(799)를 통해 다른 장치(예: 도 1의 빅데이터 소비 장치(120) 및/또는 빅데이터 제공 장치(130)로 데이터를 전송할 수 있고, 다른 장치(예: 도 1의 빅데이터 소비 장치(120) 및/또는 빅데이터 제공 장치(130)로부터 데이터를 수신할 수 있다. The communication unit 720 may be connected to the network 799. Data or information required for the operation of the electronic device 700 may be received, and data or information required for the operation of the electronic device 700 may be transmitted. The communication unit 720 may transmit data to another device (e.g., the big data consuming device 120 and/or the big data providing device 130 of FIG. 1) through the network 799, and may transmit data to another device (e.g., the big data consuming device 120 and/or the big data providing device 130 of FIG. 1) through the network 799. Data may be received from the big data consumption device 120 and/or the big data provision device 130.
메모리(730) 및 저장소(740)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(730)는 롬(ROM)(731) 및 램(RAM)(732) 중 적어도 하나를 포함할 수 있다. 저장소(740)는 램, 플래시(flash) 메모리 및 하드 디스크(hard disk) 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착 가능한 저장 매체를 포함할 수 있다. Memory 730 and storage 740 may be various types of volatile or non-volatile storage media. For example, the memory 730 may include at least one of ROM 731 and RAM 732. Storage 740 may include a built-in storage medium such as RAM, flash memory, and hard disk, and may include a removable storage medium such as a memory card.
전자 장치(700)의 기능 또는 동작은 처리부(710)가 적어도 하나의 프로그램 모듈을 실행함에 따라 수행될 수 있다. 메모리(730) 및/또는 저장소(740)는 적어도 하나의 프로그램 모듈을 저장할 수 있다. 적어도 하나의 프로그램 모듈은 처리부(710)에 의해 실행되도록 구성될 수 있다. A function or operation of the electronic device 700 may be performed as the processing unit 710 executes at least one program module. Memory 730 and/or storage 740 may store at least one program module. At least one program module may be configured to be executed by the processing unit 710.
전자 장치(700)는 사용자 인터페이스(User Interface; UI) 입력 디바이스(750) 및 UI 출력 디바이스(760)를 더 포함할 수 있다. UI 입력 디바이스(750)는 전자 장치(700)의 동작을 위해 요구되는 사용자의 입력을 수신할 수 있다. UI 출력 디바이스(760)는 전자 장치(700)의 동작에 따른 정보 또는 데이터를 출력할 수 있다. The electronic device 700 may further include a user interface (UI) input device 750 and a UI output device 760. The UI input device 750 may receive user input required for operation of the electronic device 700. The UI output device 760 may output information or data according to the operation of the electronic device 700.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been examined focusing on its preferred embodiments. A person skilled in the art to which the present invention pertains will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative rather than a restrictive perspective. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the equivalent scope should be construed as being included in the present invention.

Claims (15)

  1. 전자 장치에 있어서,In electronic devices,
    메모리; 및Memory; and
    적어도 하나의 프로세서를 포함하고,Contains at least one processor,
    상기 적어도 하나의 프로세서는,The at least one processor,
    분석 대상인 빅데이터를 제공하는 빅데이터 제공 장치의 비용 정책을 크롤링하여 획득하고, Obtain by crawling the cost policy of the big data provision device that provides the big data subject to analysis,
    상기 빅데이터에 관한 정보를 획득하고, Obtain information about the big data,
    상기 빅데이터 중 일부 데이터를, 분석될 데이터로 선택하고, Select some of the big data as data to be analyzed,
    상기 선택된 데이터에 대한 분석 작업을 수행하고, Perform analysis on the selected data,
    상기 비용 정책, 상기 빅데이터에 관한 정보, 및 상기 선택된 데이터에 대한 분석 결과에 기반하여, 제1 조건의 자원 환경에서의 분석 작업 실행 시간을 예측하고, Based on the cost policy, the information about the big data, and the analysis result of the selected data, predict the execution time of the analysis task in the resource environment of the first condition,
    상기 제1 조건의 자원 환경에서의 분석 작업 실행 시간에 기반하여, 상기 제1 조건과 다른 복수의 제2 조건들을 가지는 자원 환경에서의 분석 작업 실행 시간 및 과금 비용을 산출하도록 설정된 전자 장치.An electronic device configured to calculate the analysis task execution time and billing cost in a resource environment having a plurality of second conditions different from the first condition, based on the analysis task execution time in the resource environment of the first condition.
  2. 제1항에 있어서,According to paragraph 1,
    상기 비용 정책은, 상기 빅데이터를 분석하는데 소요되는 데이터양에 따른 시간, 자원 및 과금 비용에 관한 정보를 포함하는 전자 장치.The cost policy includes information on time, resources, and billing costs according to the amount of data required to analyze the big data.
  3. 제1항에 있어서,According to paragraph 1,
    상기 빅데이터를 구성하는 데이터 각각은 복수의 데이터 셋을 포함하고, 상기 복수의 데이터 셋들 각각은 복수 개의 테이블을 포함하며,Each of the data constituting the big data includes a plurality of data sets, and each of the plurality of data sets includes a plurality of tables,
    상기 빅데이터에 관한 정보는,Information about the big data above,
    상기 빅데이터에 포함되는 데이터 셋 리스트, 데이터 셋별 테이블, 및 테이블 내의 컬럼 리스트 정보를 포함하는 전자 장치.An electronic device including a data set list included in the big data, a table for each data set, and column list information within the table.
  4. 제3항에 있어서,According to paragraph 3,
    상기 빅데이터에 관한 정보는,Information about the big data above,
    상기 빅데이터를 획득하기 위해 필요한 쿼리의 개수, 쿼리별 데이터양을 포함하는 전자 장치.An electronic device including the number of queries required to obtain the big data and the amount of data for each query.
  5. 제1항에 있어서,According to paragraph 1,
    상기 빅데이터를 구성하는 데이터 각각은 복수의 데이터 셋을 포함하고, 상기 복수의 데이터 셋들 각각은 복수 개의 테이블을 포함하며,Each of the data constituting the big data includes a plurality of data sets, and each of the plurality of data sets includes a plurality of tables,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 빅데이터를 구성하는 상기 복수 개의 테이블들을 샘플링하고, Sample the plurality of tables constituting the big data,
    상기 샘플링된 테이블을 필터링하고,Filter the sampled table,
    상기 필터링된 테이블에서 랜덤으로 소정 개수의 테이블을, 상기 빅데이터 중 일부 데이터를 분석을 수행할 데이터로 선택하도록 설정되는 전자 장치.An electronic device configured to randomly select a predetermined number of tables from the filtered table and some data from the big data as data to be analyzed.
  6. 제5항에 있어서,According to clause 5,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 빅데이터 제공 장치의 물리적인 데이터 구성단위에 기반하여, 상기 데이터 구성 단위에 해당하는 데이터의 테이블을 샘플링하고,Based on the physical data unit of the big data providing device, a table of data corresponding to the data unit is sampled,
    소정 기준의 분포수에 기반하여, 상기 샘플링된 테이블 중 상기 소정 기준에 부합되는 일부 테이블들을 필터링하고,Based on the distribution number of a predetermined standard, filter some tables that meet the predetermined standard among the sampled tables,
    상기 분석 작업을 수행하는 데 소요되는 시간에 기반하여 상기 소정 개수의 테이블을 선택하는 전자 장치.An electronic device that selects the predetermined number of tables based on the time it takes to perform the analysis task.
  7. 제5항에 있어서,According to clause 5,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 테이블을 구성하는 컬럼의 이름 및/또는 종류에 기반하여 해당 컬럼에 대한 분석 수행 여부를 결정하며,Based on the name and/or type of the column constituting the table, determine whether to perform analysis on the column,
    상기 해당 컬럼에 대한 분석 수행 여부를 추가로 고려하여 상기 제1 조건의 자원 환경에서의 분석 작업 실행 시간을 예측하도록 구성되는 전자 장치.An electronic device configured to predict an analysis task execution time in the resource environment of the first condition by additionally considering whether to perform analysis on the corresponding column.
  8. 제1항에 있어서,According to paragraph 1,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 전자 장치의 CPU(central processing unit)의 처리 속도, 메모리의 용량, 디스크의 크기, 및 네트워크 대역폭의 조합에 기반한 상기 복수의 제2 조건들을 가지는 자원 환경에서의 분석 작업 실행 시간 및 과금 비용을 산출하는 전자 장치.Calculating the analysis task execution time and billing cost in a resource environment having the plurality of second conditions based on a combination of the processing speed of the central processing unit (CPU) of the electronic device, memory capacity, disk size, and network bandwidth. electronic device that does.
  9. 전자 장치의 동작 방법에 있어서,In a method of operating an electronic device,
    분석 대상인 빅데이터를 제공하는 빅데이터 제공 장치의 비용 정책을 크롤링하여 획득하는 동작;An operation of crawling and obtaining the cost policy of a big data provision device that provides big data to be analyzed;
    상기 빅데이터에 관한 정보를 획득하는 동작;An operation of obtaining information about the big data;
    상기 빅데이터 중 일부 데이터를, 분석될 데이터로 선택하는 동작;An operation of selecting some data from the big data as data to be analyzed;
    상기 선택된 데이터에 대한 분석 작업을 수행하는 동작;performing an analysis task on the selected data;
    상기 비용 정책, 상기 빅데이터에 관한 정보, 및 상기 선택된 데이터에 대한 분석 결과에 기반하여, 제1 조건의 자원 환경에서의 분석 작업 실행 시간을 예측하는 동작; 및predicting an analysis task execution time in a resource environment of a first condition based on the cost policy, the information about the big data, and an analysis result of the selected data; and
    상기 제1 조건의 자원 환경에서의 분석 작업 실행 시간에 기반하여, 상기 제1 조건과 다른 복수의 제2 조건들을 가지는 자원 환경에서의 분석 작업 실행 시간 및 과금 비용을 산출하는 동작을 포함하는 방법.A method comprising calculating analysis task execution time and billing cost in a resource environment having a plurality of second conditions different from the first condition, based on the analysis task execution time in the resource environment of the first condition.
  10. 제9항에 있어서,According to clause 9,
    상기 비용 정책은, 상기 빅데이터를 분석하는데 소요되는 데이터양에 따른 시간, 자원, 및 과금 비용에 관한 정보를 포함하는 방법.The cost policy includes information on time, resources, and billing costs according to the amount of data required to analyze the big data.
  11. 제9항에 있어서,According to clause 9,
    상기 빅데이터를 구성하는 데이터 각각은 복수의 데이터 셋을 포함하고, 상기 복수의 데이터 셋들 각각은 복수 개의 테이블들을 포함하며,Each of the data constituting the big data includes a plurality of data sets, and each of the plurality of data sets includes a plurality of tables,
    상기 빅데이터에 관한 정보는,Information about the big data above,
    상기 빅데이터에 포함되는 데이터 셋 리스트, 데이터 셋별 테이블, 테이블 내의 컬럼 리스트 정보,상기 빅데이터를 획득하기 위해 필요한 쿼리의 개수, 및 쿼리별 데이터양을 포함하는 방법.A method including a list of data sets included in the big data, a table for each data set, column list information in the table, the number of queries required to obtain the big data, and the amount of data for each query.
  12. 제9항에 있어서,According to clause 9,
    상기 빅데이터를 구성하는 데이터 각각은 복수의 데이터 셋을 포함하고, 상기 복수의 데이터 셋들 각각은 복수 개의 테이블들을 포함하며,Each of the data constituting the big data includes a plurality of data sets, and each of the plurality of data sets includes a plurality of tables,
    상기 빅데이터 중 일부 데이터를 분석될 데이터로 선택하는 동작은,The operation of selecting some data among the big data as data to be analyzed is,
    상기 빅데이터를 구성하는 상기 복수 개의 테이블들을 샘플링하는 동작;An operation of sampling the plurality of tables constituting the big data;
    상기 샘플링된 테이블을 필터링하는 동작; 및Filtering the sampled table; and
    상기 필터링된 테이블에서 랜덤으로 소정 개수의 테이블을 선택하는 동작을 포함하는 방법.A method including an operation of randomly selecting a predetermined number of tables from the filtered tables.
  13. 제12항에 있어서,According to clause 12,
    상기 빅데이터를 구성하는 테이블을 샘플링하는 동작은,The operation of sampling the table constituting the big data is,
    상기 빅데이터 제공 장치의 물리적인 데이터 구성단위에 기반하여, 상기 데이터 구성 단위에 해당하는 데이터의 테이블을 샘플링하고,Based on the physical data unit of the big data providing device, a table of data corresponding to the data unit is sampled,
    상기 샘플링된 테이블을 필터링하는 동작은,The operation of filtering the sampled table is:
    소정 기준의 분포수에 기반하여, 상기 샘플링된 테이블 중 상기 소정 기준에 부합되는 일부 테이블들을 필터링하고,Based on the distribution number of a predetermined standard, filter some tables that meet the predetermined standard among the sampled tables,
    상기 필터링된 테이블에서 랜덤으로 소정 개수의 테이블을 선택하는 동작은,The operation of randomly selecting a predetermined number of tables from the filtered tables is,
    상기 분석 작업을 수행하는 데 소요되는 시간에 기반하여 상기 소정 개수의 테이블을 선택하는 방법.A method of selecting the predetermined number of tables based on the time it takes to perform the analysis task.
  14. 제12항에 있어서,According to clause 12,
    상기 테이블을 구성하는 컬럼의 이름 및/또는 종류에 기반하여 해당 컬럼에 대한 분석 수행 여부가 결정되며,Based on the name and/or type of the column constituting the table, it is determined whether to perform analysis on the column,
    상기 제1 조건의 자원 환경에서의 분석 작업 실행 시간을 예측하는 동작은, 상기 해당 컬럼에 대한 분석 수행 여부를 추가로 고려하는 방법.The operation of predicting the analysis task execution time in the resource environment of the first condition further considers whether to perform analysis on the corresponding column.
  15. 제9항에 있어서,According to clause 9,
    상기 복수의 제2 조건들을 가지는 자원 환경에서의 분석 작업 실행 시간 및 과금 비용을 산출하는 동작은,The operation of calculating the analysis task execution time and billing cost in a resource environment having the plurality of second conditions includes,
    상기 전자 장치의 CPU(central processing unit)의 처리 속도, 메모리의 용량, 디스크의 크기, 및 네트워크 대역폭의 조합에 기반한 상기 복수의 자원 환경에서의 분석 작업 실행 시간 및 과금 비용을 산출하는 방법.A method of calculating analysis task execution time and billing costs in the plurality of resource environments based on a combination of the processing speed of the central processing unit (CPU) of the electronic device, memory capacity, disk size, and network bandwidth.
PCT/KR2023/002189 2022-03-24 2023-02-15 Electronic device for analyzing big data and operation method thereof WO2023182661A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0036388 2022-03-24
KR1020220036388A KR20230138604A (en) 2022-03-24 2022-03-24 Electronic device for analyzing big data and method operating thereof

Publications (1)

Publication Number Publication Date
WO2023182661A1 true WO2023182661A1 (en) 2023-09-28

Family

ID=88101273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/002189 WO2023182661A1 (en) 2022-03-24 2023-02-15 Electronic device for analyzing big data and operation method thereof

Country Status (2)

Country Link
KR (1) KR20230138604A (en)
WO (1) WO2023182661A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102652612B1 (en) * 2023-09-25 2024-03-29 스탠 주식회사 Big Data-Based Advertising Strategy Generation System

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242651A (en) * 1999-02-18 2000-09-08 Mitsubishi Electric Corp Method and device for mining data
KR20090007662A (en) * 2008-12-08 2009-01-20 주식회사 비즈모델라인 Method for using server by regional groups by using network
US20150363741A1 (en) * 2013-01-18 2015-12-17 Praphul Chandra Task assignment in crowdsourcing
JP2018524672A (en) * 2015-05-29 2018-08-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer-implemented method, computer program, and system for estimating computational resources for performing data mining tasks on a distributed computing system
KR20190069637A (en) * 2017-11-30 2019-06-20 한승철 Charging method and system in multi cloud in the same way

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242651A (en) * 1999-02-18 2000-09-08 Mitsubishi Electric Corp Method and device for mining data
KR20090007662A (en) * 2008-12-08 2009-01-20 주식회사 비즈모델라인 Method for using server by regional groups by using network
US20150363741A1 (en) * 2013-01-18 2015-12-17 Praphul Chandra Task assignment in crowdsourcing
JP2018524672A (en) * 2015-05-29 2018-08-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer-implemented method, computer program, and system for estimating computational resources for performing data mining tasks on a distributed computing system
KR20190069637A (en) * 2017-11-30 2019-06-20 한승철 Charging method and system in multi cloud in the same way

Also Published As

Publication number Publication date
KR20230138604A (en) 2023-10-05

Similar Documents

Publication Publication Date Title
WO2012111905A2 (en) Distributed memory cluster control device and method using mapreduce
US20050273465A1 (en) Method and apparatus for community management in virtual community
WO2023182661A1 (en) Electronic device for analyzing big data and operation method thereof
CN111078488A (en) Data acquisition method, device, storage medium and system
EP2798607A1 (en) Method, server, and terminal for recommending an application based on application usage
WO2013122338A1 (en) Method for distributed indexing and searching for efficiently analyzing time series data in search systems
WO2017146337A1 (en) Method and apparatus for archiving database, and method and apparatus for searching archived database
WO2021107211A1 (en) In-memory database-based time-series data management system
CN112965879A (en) Data processing method and device, electronic equipment and readable storage medium
CN111488594A (en) Authority checking method and device based on cloud server, storage medium and terminal
WO2018182060A1 (en) Method for storing and searching text log data on basis of relational database
WO2013133545A1 (en) Search system and operating method thereof
CN110471947A (en) Querying method, server and storage medium based on distributed search engine
WO2018043767A1 (en) Data collection method using data agent container and system therefor
CN109672721B (en) Media file pushing method and device, server and computer readable storage medium
JP2006099268A (en) Image retrieval device, image retrieval support device, image retrieval system, image retrieval method, and image retrieval program
WO2023182557A1 (en) Product picking information provision method and electronic device using same
WO2022196861A1 (en) Method and electronic device for providing item-related information
WO2019035499A1 (en) Hybrid saas service processing system and method in user demand-based hybrid saas service platform using auto-scaling
WO2016159484A1 (en) Method and apparatus for sharing personalized content using user information of mobile terminal
WO2015068897A9 (en) Method for relaying cloud server
WO2016028033A1 (en) Indoor place determination method and system, and file distribution system
WO2020080666A1 (en) Intelligent image tracking system in semiconductor process
WO2017018701A1 (en) Method and apparatus for preventing data fragmentation of black box
WO2021070998A1 (en) Distributed system and method for knowledge integration

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

Country of ref document: EP

Kind code of ref document: A1