EP4537212A1 - Managed tables for data lakes - Google Patents
Managed tables for data lakesInfo
- Publication number
- EP4537212A1 EP4537212A1 EP24745851.6A EP24745851A EP4537212A1 EP 4537212 A1 EP4537212 A1 EP 4537212A1 EP 24745851 A EP24745851 A EP 24745851A EP 4537212 A1 EP4537212 A1 EP 4537212A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- metadata
- processors
- query engine
- cloud storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Definitions
- Data lakes are increasingly built using open file formats and stored on cloud object stores due to their relatively low cost and high durability.
- interfaces provided by cloud storage systems are limited to single object mutations with no support for multi-object transactions.
- ACID atomicity, consistency, isolation, and durability
- snapshot consistency for reads
- strong read-after-write consistency atomicity, consistency, isolation, and durability
- the use of open-source table formats to alleviate this difficulty causes lower write throughput, lower query performance, higher operational overhead for infrastructure management, limited transaction support, and a weaker security model.
- aspects of the disclosure are directed to merging data lake openness with scalable metadata for managed tables in a cloud database platform, allowing for atomicity, consistency, isolation, and durability (ACID) transactions, performant data manipulation language (DML), higher throughput stream ingestion, data consistency, schema evolution, time travel, clustering, fine-grained security, and/or automatic storage optimization.
- Table data is stored in various open- source file formats in cloud storage while physical metadata of the table data is stored in a scalable metadata storage system.
- Another aspect of the disclosure provides for a system including: one or more processors; and one or more storage devices coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations according to the method for processing queries.
- a non-transitory computer-readable medium for storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations according to the method for processing queries.
- the method further includes compacting, by the one or more processors, the transaction log into columnar baselines.
- the columnar baselines are in a format compatible with the query engine.
- the method further includes performing, by the one or more processors, one or more maintenance tasks based on metadata in the distributed file system.
- the one or more maintenance tasks include at least one of garbage collection, file merging, file splitting, or file reclustering.
- the method further includes: converting, by the one or more processors, the table transaction log to a format compatible with the query engine; and storing, by one or more processors, the table transaction log in the cloud storage compatible with the query engine.
- the method further includes: exporting, by the one or more processors, the metadata in the appendable distributed file system to the cloud storage compatible with the query engine.
- the metadata exported is in a format compatible with the query engine.
- the exporting is automatically triggered in response to each addition to the table transaction log.
- the method further includes: receiving, by one or more processors, a request from a query engine to read the one or more data files in the cloud storage; and directly reading, by the one or more processors, the one or more data files from the cloud storage.
- the method further includes: receiving, by one or more processors, a request from a query engine to read the one or more data files in the cloud storage; and reading, by the one or more processors, the one or more data files from the cloud storage through an application programming interface (API) exposing the cloud storage and the appendable distributed file system.
- API application programming interface
- reading the one or more data files through the API guarantees at least one of exactly once delivery or strong read after write semantics.
- FIG. 1 depicts a block diagram of an example managed table system for a cloud storage system for data lakes and data warehouses according to aspects of the disclosure.
- FIG. 2 depicts a block diagram of an example metadata storage system according to aspects of the disclosure.
- FIG. 3 depicts a block diagram of an example computing environment implementing a managed table system for a cloud storage system according to aspects of the disclosure.
- FIG. 4 depicts an example process for processing queries associated with writing table data according to aspects of the disclosure.
- FIG. 5 depicts an example process for processing queries associated with reading table data according to aspects of the disclosure.
- FIG. 6 depicts an example process for processing queries associated with exporting metadata according to aspects of the disclosure.
- FIG. 7 depicts a block diagram of an example streaming system that combines scratch space storing write-optimized data with an object store storing read-optimized data according to aspects of the disclosure.
- the technology relates generally to an approach for managed tables in a cloud database platform that can merge data lake openness with scalable metadata.
- the approach can allow for atomicity, consistency, isolation, and durability (ACID) transactions, performant data manipulation language (DML), higher throughput stream ingestion, data consistency, schema evolution, time travel, clustering, fine-grained security, and/or automatic storage optimization.
- the approach can store table data in various open-source file formats in cloud storage while storing physical metadata, e.g., file names, statistics, row-level deletion bitmaps, of the table data in a scalable metadata storage system.
- the separation of the physical metadata from the table data can allow for higher-volume DML and cross-table transactions.
- the managed table system can write file- or row-level additions and/or deletions to an append-based transaction log in the metadata storage system.
- the metadata storage system can include a distributed file system that supports file appends, e.g., an appendable distributed file system, to store the append-based transaction log.
- the distributed file system can also support snapshots, such as the ability to atomically create a logical duplicate of a group of files, and/or renames, such as the ability to atomically rename a group of files.
- the distributed file system can be replicated to one or more data centers in one or more locations.
- the managed table system can periodically compact the append-based transaction log into read- optimized baselines to allow for improving query efficiency.
- the read-optimized baselines can be stored in a columnar-oriented format.
- the managed table system can compact the append-based transaction log per minute or per hour depending on how fast the additions and/or deletions occur.
- the read-optimized baselines can contain column-level metadata, such as zone maps and/or bloom filters, that the managed table system can use to prune files for future queries.
- the managed table system can include automated data management for continuously or periodically performing maintenance tasks on the physical metadata.
- the maintenance tasks can include garbage collecting files, improving storage by coalescing smaller files into larger files, and/or performing continuous or periodic background reclustering.
- the managed table system can include a storage application programming interface (API) to support higher-throughput streaming ingestion from open-source query engines.
- the storage API can write ingested tuples to a write-optimized storage in the distributed file system.
- the write- optimized storage can be stored in a row-oriented format in an appendable file system, such as the distributed file system.
- the managed table system can periodically transactionally convert the ingested tuples in the write-optimized storage into read-optimized columnar data files in the cloud storage. For example, the managed table system can convert the ingested tuples per minute or per hour depending on how fast the tuples are ingested.
- Streamed tuples can be visible after a write as the table data can represent a union of the tuples stored in the cloud storage and the write- optimized storage in the distributed file system, allowing for maintaining atomicity guarantees of the conversion, even for cloud storage that does not support atomic renames or snapshots.
- the managed table system can include an open metadata view to provide a live view of the metadata storage system in open-source table formats.
- the open metadata view can provide compatibility with external query engines that only support open-source table formats and can avoid lock-in, as clients can export the table data and metadata in the open-source table formats.
- data e.g., metadata, table data, data file(s)
- data is compatible with a query engine when the query engine is arranged for opening, processing and/or handling the format of the data and, thereby, the data itself (e.g., metadata, table data, data file(s)).
- a data format is compatible with a query engine when the query engine is arranged for opening, processing and/or handling the data format.
- the open metadata view can be materialized to the cloud storage, such as by writing the metadata view into one or more files, or accessed through open-source compatible catalog APIs in an open-source compatible metastore.
- the export can be automatic or requested by running a metadata export query.
- the export can also be incremental, building on a previously exported snapshot and writing only the differences rather than materializing the entire metadata snapshot for each export.
- the open-source query engines can read table data of the managed table system by using the open metadata view to directly access files on the cloud storage. Fine-grained access control lists (ACLs) may not be enforced, as the open-source query engines have direct file access. Based on eventual consistency, recently streamed tuples still in the write-optimized storage may not be visible.
- the open-source query engines can read the table data by reading the table data through the storage API.
- the storage API can enforce fine-grained ACLs and/or offer strong read consistency, regardless of whether the streamed tuple is still in the write- optimized storage.
- FIG. 1 depicts a block diagram of an example managed table system 100 for a cloud storage system for data lakes and data warehouses.
- the managed table system 100 can be implemented on one or more computing devices in one or more locations.
- the managed table system 100 can include one or more data lake query engines 102 and one or more data warehouse query engines 104.
- Example data lake query engines 102 can include open-source engines and example data warehouse query engines 104 can include warehouse native APIs.
- the managed table system 100 can further include cloud storage 106 for storing table data 108 and metadata snapshots 110 in various file formats, such as open-source file formats.
- the metadata snapshots 110 may refer to materializing, e.g., writing into one or more files, an open metadata view of the logical metadata 114 and/or physical metadata 116 to an object store of the cloud storage 106.
- the file formats can be particular to a client utilizing the managed table system 100.
- the managed table system 100 can also include a metadata storage system 112 for storing physical metadata 114 and/or logical metadata 116 in a distributed file system 118.
- Example physical metadata 114 can include file names, statistics, and/or row-level deletion bitmaps of the table data 108.
- Example logical metadata 116 can include schema, attributes, and/or permissions for the table data 108.
- the separation of the metadata, e.g., physical metadata 114 and/or logical metadata 116, from the table data 108 can allow for higher- volume DML and cross-table transactions.
- the storage API can transactionally convert the ingested tuples per minute, per hour, or continually.
- the tuples can be visible after a write as the table data can represent a union of data files stored in the cloud storage and data files stored in the write- optimized storage 206.
- the union can allow for maintaining atomicity guarantees of the conversion, even if the cloud storage is incompatible with atomic renames or snapshots.
- the storage API can write file- or row-level additions and/or deletions to the append-based transaction log 204 of the distributed file system 202.
- the storage API can compact the appendbased transaction log into read-optimized baselines 214, for storing in the cloud storage.
- the baselines 214 can have a columnar-oriented format.
- the data management engine 210 can compact the append-based transaction log 204 per minute, per hours, or continually.
- the read-optimized baselines 214 can contain column- level metadata that can be utilized for pruning files and/or improving query efficiency.
- the column-level metadata can include location maps and/or bloom filters.
- the write-optimized storage 206, read-optimized baselines 214, and the append-based transaction log 204 of the distributed file system 200 allow for ACID transactions with higher throughput.
- the open metadata view engine 212 can materialize the open metadata view to the cloud storage, such as by writing the metadata view into one or more files or include a format-compatible API for accessing the metadata.
- a format-compatible API can be an API that works with a query engine to allow the client utilizing the cloud storage to access the metadata.
- the open metadata view engine 212 can be utilized to read the table data.
- the open metadata view engine 212 can directly access files in the cloud storage. Since the data lake query engines may have direct file access through the open metadata view engine 212, FGACs may not be enforced. Further, the open metadata view engine 212 can offer eventual consistency, so recently streamed tuples still in the write-optimized storage may not be visible.
- the data management engine 210 can perform continuous or periodic, e.g., per minute or per hour, maintenance tasks on the distributed file system, such as on the physical metadata and/or logical metadata. Maintenance tasks can include garbage collection, file coalescing, and/or reclustering, as examples. For instance, the data management engine 210 can delete files from the distributed file system that contain data that has already been deleted from the cloud storage, e.g., garbage collection of tuples stored in the write-optimized buffer 206. As another example, the data management engine 210 can merge smaller files into larger files and/or split larger files into smaller files, such as for optimizing file sizes based on performance, compute capacity, and/or utilizing parallelism. For instance, streaming a smaller amount of data tends to produce smaller files which can then be combined and clustered to maintain performance. As yet another example, the data management engine 210 can perform background reclustering.
- the server computing device 304 can be configured to transmit data to the client computing device 306, and the client computing device 306 can be configured to display at least a portion of the received data on a display implemented as part of the client output 332.
- the client output 332 can also be used for displaying an interface between the client computing device 306 and the server computing device 304.
- the client output 332 can alternatively or additionally include one or more speakers, transducers or other audio outputs, a haptic interface or other tactile feedback that provides non-visual and non-audible information to a client of the client computing device 306.
- FIG. 3 illustrates the processors 314, 322 and the memories 316, 324 as being within the computing devices 304, 306, components described herein, including the processors 314, 322 and the memories 316, 324 can include multiple processors and memories that can operate in different physical locations and not within the same computing device.
- some of the instructions 318, 326 and the data 320, 328 can be stored on a removable SD card and other instructions within a read-only computer chip.
- Some or all of the instructions 31, 326 and data 320, 328 can be stored in a location physically remote from, yet still accessible by, the processors 314, 322.
- the processors 314, 322 can include a collection of processors that can perform concurrent and/or sequential operations.
- the computing devices 304, 306 can each include one or more internal clocks providing timing information, which can be used for time measurement for operations and programs run by the computing devices 304, 306.
- the computing devices 304, 306 can be capable of direct and indirect communication over the network 310.
- the devices 304, 306 can set up listening sockets that may accept an initiating connection for sending and receiving information.
- the network 310 itself can include various configurations and protocols including the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, and private networks using communication protocols proprietary to one or more companies.
- the network 310 can support a variety of short- and long-range connections.
- the short- and long-range connections may be made over different bandwidths, such as 2.402 GHz to 2.480 GHz, commonly associated with the Bluetooth® standard, 2.4 GHz and 5 GHz, commonly associated with the Wi-Fi® communication protocol; or with a variety of communication standards, such as the LTE® standard for wireless broadband communication.
- the network 310 in addition or alternatively, can also support wired connections between the computing devices 304, 306, including over various types of Ethernet connection.
- FIG. 3 Although a single server computing device 304 and user computing device 306 are shown in FIG. 3, it is understood that the aspects of the disclosure can be implemented according to a variety of different configurations and quantities of computing devices, including in paradigms for sequential or parallel processing, or over a distributed network of multiple devices. In some implementations, aspects of the disclosure can be performed on a single device, and any combination thereof.
- FIG. 4 depicts an example process 400 for processing queries associated with writing table data.
- the example process 400 can be performed on a system of one or more processors in one or more locations, such as the managed table system 100 as depicted in FIG. 1.
- the managed table system 100 can be configured to receive a request from a query engine to write one or more tuples.
- the query engine can be a data lake query engine, such as an open-source engine.
- the managed table system 100 can be configured to write the one or more tuples to a storage in a distributed file system.
- the storage can be a write-optimized storage having a row-oriented format for storing the tuples.
- the distributed file system can be an appendable distributed file system.
- the managed table system 100 can be configured to convert the tuples to one or more data files in a format compatible with the query engine.
- the managed table system 100 can convert the tuples to a read-optimized format having a columnar-oriented format.
- the managed table system 100 can periodically or continually convert the tuples based on how fast the tuples are ingested.
- the managed table system 100 can be further configured to store the one or more data files in the cloud storage compatible with the query engine. Since table data can represent a union of data files stored in the cloud storage and storage, the tuples can be visible after a write, even if not converted yet.
- the managed table system 100 can commit the write as an addition and/or deletion to a table transaction log in the distributed file system. For example, the commit can occur exactly once.
- the managed table system 100 can periodically or continually compact the transaction log into columnar baselines based on how fast the additions and/or deletions occur.
- the columnar baselines can be read-optimized and in a format compatible with the query engine.
- the columnar baselines can include column-level metadata.
- FIG. 5 depicts an example process 500 for processing queries associated with reading table data.
- the example process 500 can be performed on a system of one or more processors in one or more locations, such as the managed table system 100 as depicted in FIG. 1.
- the managed table system 100 can be configured to receive a request from a query engine to read one or more data files in a cloud storage in a format compatible with the query engine.
- the query engine can be a data lake query engine, such as an open-source engine.
- the managed table system 100 can be configured to determine whether to read the one or more data files directly or read the one or more data files through a storage API.
- the managed table system 100 can determine how to read the one or more data files based on instructions included in the request.
- the managed table system 100 can be configured to directly read the one or more data files.
- the managed table system 100 can directly access the one or more data files in the cloud storage using an open metadata view engine. Based on the direct file access, FGACs may not be enforced. Further, based on eventual consistency, recently streamed tuples in the write-optimized storage may not be visible.
- the managed table system 100 can be configured to read the one or more data files through the storage API.
- the storage API can enforce FGACs using logical metadata and offer strong consistency since the storage API can access a union of data files between the cloud storage and the write-optimized storage.
- FIG. 6 depicts an example process 600 for processing queries associated with exporting metadata.
- the example process 600 can be performed on a system of one or more processors in one or more locations, such as the managed table system 100 as depicted in FIG. 1.
- the managed table system 100 can be configured to receive a request from a query engine to export metadata associated with table data in a cloud storage in a format compatible with the query engine.
- the query engine can be a data lake query engine, such as an open-source engine.
- the managed table system 100 can be configured to convert the metadata to a format compatible with the query engine.
- the managed table system 100 can convert the table transaction log to a format compatible with the query engine.
- the managed table system 100 can convert the metadata to a particular format based on the format of the query received from the query engine.
- the managed table system 100 can be configured to export the metadata.
- the managed table system 100 can store the table transaction log in the cloud storage compatible with the query engine.
- FIG. 7 depicts a block diagram of an example streaming subsystem 700.
- the example streaming subsystem 700 can be included as part of the managed table system 100 as depicted in FIG. 1.
- the streaming subsystem 700 can be implemented on one or more computing devices in one or more locations.
- the streaming subsystem 700 can include a write API 702 as part of a streaming frontend, a scratch space 704, and a streaming backend 706.
- the write API 702 can correspond to the storage API 122 as depicted in FIG. 1.
- the scratch space 704 can be included as part of the distributed file system 118 as depicted in FIG. 1.
- the scratch space 704 can correspond to the write-optimized buffer 206 as depicted in FIG. 2.
- the streaming backend 706 can correspond to the data management engine 210 as depicted in FIG. 2.
- the streaming subsystem 700 can provide higher throughput streaming on object stores 708 without running into the small file problem.
- the small file problem may refer to creating new files right after a few records are streamed, resulting in tables having a lot of tiny files, which add significant time overhead for file listing and per-file metadata overhead. These overheads limit streaming throughput and lower query performance when data is read.
- the object stores 708 can correspond to the cloud storage 106 as depicted in FIG. 1.
- the streaming subsystem 700 can utilize the scratch space 704 to bulk convert and output data in various formats, such as open source formats, to the cloud object stores 708.
- the streaming subsystem 700 can receive queries from various query engines 710.
- the query engines 710 can correspond to the data lake query engines 102 and/or data warehouse query engines 104 as depicted in FIG. 1. Based on the queries, the streaming subsystem 700 ingests data using the write API 702 and stores the data in a durable write-optimized storage, such as being stored using row-oriented format in the scratch space 704 of a distributed file system that supports appends. The write-optimized storage can be replicated to multiple locations for high availability.
- the streaming subsystem 700 can bulk convert data from one or more intermediate files in the scratch space 704 to a final file for storage in the object stores in various file formats.
- the streaming subsystem 700 can bulk convert the data using the streaming backend 706. Metadata for the newly created object store files can be persisted in the managed table system.
- the query engines 710 can read data using a read API 712 immediately after a write confirmation, as the data to be read can include data from both the object stores 708 and the scratch space 704.
- the streaming subsystem 700 allows for real-time insertion of row level information into object store tables via the write API 702, such as row-by-row, in rowsets, and/or in batches. The information can be inserted, updated, and/or deleted via the write API 702 as well.
- the streaming subsystem 700 allows for streamed data to be immediately queried via the query engines 710 using the read API 712 after confirmation of delivery of the streamed data, even before final materialization in the object stores 708.
- the managed table system can represent the union of tuples in immutable files stored in cloud object stores as well as internally stored high throughput write optimized storage.
- Atomicity guarantees can be offered by the conversion of files in the write optimized storage to immutable files in the cloud object stores by performing transactional commits that invalidate the write- optimized files and add read-optimized files to the managed table system.
- the atomicity guarantees can include exactly once delivery, where each streamed record is guaranteed to be added to the table once as well as strong read-after-write semantics, where streamed data is immediately visible to queries after write acknowledgement or commit.
- aspects of this disclosure can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, and/or in computer hardware, such as the structure disclosed herein, their structural equivalents, or combinations thereof.
- aspects of this disclosure can further be implemented as one or more computer programs, such as one or more modules of computer program instructions encoded on a tangible non-transitory computer storage medium for execution by, or to control the operation of, one or more data processing apparatus.
- the computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or combinations thereof.
- the computer program instructions can be encoded on an artificially generated propagated signal, such as a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- data processing apparatus or “data processing system” refers to data processing hardware and encompasses various apparatus, devices, and machines for processing data, including programmable processors, computers, or combinations thereof.
- the data processing apparatus can include special purpose logic circuitry, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC).
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- the data processing apparatus can include code that creates an execution environment for computer programs, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or combinations thereof.
- the term “computer program” refers to a program, software, a software application, an app, a module, a software module, a script, or code.
- the computer program can be written in any form of programming language, including compiled, interpreted, declarative, or procedural languages, or combinations thereof.
- the computer program can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- the computer program can correspond to a file in a file system and can be stored in a portion of a file that holds other programs or data, such as one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, such as files that store one or more modules, sub programs, or portions of code.
- the computer program can be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
- database refers to any collection of data.
- the data can be unstructured or structured in any manner.
- the data can be stored on one or more storage devices in one or more locations.
- an index database can include multiple collections of data, each of which may be organized and accessed differently.
- engine refers to a software-based system, subsystem, or process that is programmed to perform one or more specific functions.
- the engine can be implemented as one or more software modules or components or can be installed on one or more computers in one or more locations.
- a particular engine can have one or more computers dedicated thereto, or multiple engines can be installed and running on the same computer or computers.
- the processes and logic flows described herein can be performed by one or more computers executing one or more computer programs to perform functions by operating on input data and generating output data.
- the processes and logic flows can also be performed by special purpose logic circuitry, or by a combination of special purpose logic circuitry and one or more computers.
- a computer or special purpose logic circuitry executing the one or more computer programs can include a central processing unit, including general or special purpose microprocessors, for performing or executing instructions and one or more memory devices for storing the instructions and data.
- the central processing unit can receive instructions and data from the one or more memory devices, such as read only memory, random access memory, or combinations thereof, and can perform or execute the instructions.
- the computer or special purpose logic circuitry can also include, or be operatively coupled to, one or more storage devices for storing data, such as magnetic, magneto optical disks, or optical disks, for receiving data from or transferring data to.
- the computer or special purpose logic circuitry can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS), or a portable storage device, e.g., a universal serial bus (USB) flash drive, as examples.
- a mobile phone such as a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS), or a portable storage device, e.g., a universal serial bus (USB) flash drive, as examples.
- PDA personal digital assistant
- GPS Global Positioning System
- USB universal serial bus
- Computer readable media suitable for storing the one or more computer programs can include any form of volatile or non-volatile memory, media, or memory devices. Examples include semiconductor memory devices, e.g., EPROM, EEPROM, or flash memory devices, magnetic disks, e.g., internal hard disks or removable disks, magneto optical disks, CD-ROM disks, DVD-ROM disks, or combinations thereof.
- semiconductor memory devices e.g., EPROM, EEPROM, or flash memory devices
- magnetic disks e.g., internal hard disks or removable disks, magneto optical disks, CD-ROM disks, DVD-ROM disks, or combinations thereof.
- aspects of the disclosure can be implemented in a computing system that includes a back end component, e.g., as a data server, a middleware component, e.g., an application server, or a front end component, e.g., a client computer having a graphical user interface, a web browser, or an app, or any combination thereof.
- the components of the system can be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
- LAN local area network
- WAN wide area network
- the computing system can include clients and servers.
- a client and server can be remote from each other and interact through a communication network.
- the relationship of client and server arises by virtue of the computer programs running on the respective computers and having a client-server relationship to each other.
- a server can transmit data, e.g., an HTML page, to a client device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device.
- Data generated at the client device e.g., a result of the user interaction, can be received at the server from the client device.
- the foregoing alternative examples are not mutually exclusive, but may be implemented in various combinations to achieve unique advantages.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363535811P | 2023-08-31 | 2023-08-31 | |
| US18/389,331 US12511266B2 (en) | 2023-08-31 | 2023-11-14 | Managed tables for data lakes |
| US18/389,337 US12405924B2 (en) | 2023-08-31 | 2023-11-14 | Managed tables for data lakes |
| PCT/US2024/035961 WO2025048939A1 (en) | 2023-08-31 | 2024-06-28 | Managed tables for data lakes |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4537212A1 true EP4537212A1 (en) | 2025-04-16 |
Family
ID=91960436
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24745851.6A Pending EP4537212A1 (en) | 2023-08-31 | 2024-06-28 | Managed tables for data lakes |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4537212A1 (en) |
| CN (1) | CN119923640A (en) |
| WO (1) | WO2025048939A1 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103023982B (en) * | 2012-11-22 | 2015-04-29 | 中国人民解放军国防科学技术大学 | Low-latency metadata access method of cloud storage client |
| US9679013B2 (en) * | 2014-06-12 | 2017-06-13 | International Business Machines Corporation | Generating and accessing a data table |
| CN113646767A (en) * | 2019-03-19 | 2021-11-12 | 西格玛计算机有限公司 | Enable editable tables on cloud-based data warehouse |
| US11461335B1 (en) * | 2021-04-09 | 2022-10-04 | Snowflake Inc. | Optimized processing of data in different formats |
-
2024
- 2024-06-28 CN CN202480002394.6A patent/CN119923640A/en active Pending
- 2024-06-28 EP EP24745851.6A patent/EP4537212A1/en active Pending
- 2024-06-28 WO PCT/US2024/035961 patent/WO2025048939A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN119923640A (en) | 2025-05-02 |
| WO2025048939A1 (en) | 2025-03-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12001433B2 (en) | ETL-less zero-redundancy system and method for reporting OLTP data | |
| US11068501B2 (en) | Single phase transaction commits for distributed database transactions | |
| US10095717B2 (en) | Data archive vault in big data platform | |
| US8832020B2 (en) | Method and system for safely transporting legacy data to an object semantic form data grid | |
| KR20170129114A (en) | Application-centric object storage | |
| JP2018022514A (en) | Cloud-based distributed persistence and cache data model | |
| US20250245230A1 (en) | Query Acceleration and Metadata Caching | |
| US12511266B2 (en) | Managed tables for data lakes | |
| US12346319B2 (en) | Technique for parallel recovery on read replica | |
| Haelen et al. | Delta Lake: Up and Running: Modern Data Lakehouse Architectures with Delta Lake | |
| US20260086984A1 (en) | Managed Tables for Data Lakes | |
| Faria et al. | CRDV: Conflict-free replicated data views | |
| EP4537212A1 (en) | Managed tables for data lakes | |
| WO2024177779A1 (en) | Technique for parallel recovery on read replica | |
| Khazanchi | Faster reading with DuckDB and arrow flight on hopsworks: Benchmark and performance evaluation of offline feature stores | |
| Gupta et al. | Delta lake-deep dive | |
| Oelkers | Overview of petabyte-scale metadata storage methods and frameworks | |
| Distefano | Design of an Infrastructure for Collecting, Storing and Using Data in the Context of Renewable Energy | |
| US20260023755A1 (en) | Scalable Data Import Into Managed Lakehouses | |
| CN118922825B (en) | Maintaining transaction consistency in a columnar engine | |
| Pereira et al. | CRDV: Conflict-free Replicated Data Views | |
| Galić et al. | A Generic and Extensible Core and Prototype of Consistent, Distributed, and Resilient LIS | |
| König et al. | In Memory Databases–Market Analysis and Technical Overview | |
| EP4500361A1 (en) | Unifying runtime catalog | |
| McPherson | Digital Commons@ Georgia Souther n |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20241128 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: VOLOBUEV, YURI Inventor name: SAXENA, GAURAV Inventor name: LEVANDOSKI, JUSTIN Inventor name: JOHNSON, ANOOP, KOCHUMMEN Inventor name: HOTTELIER, THIBAUD |