Merge branch 'lumina'

4fb6ef8b79 [NO ISSUE][MISC] Remove redundant version declarations
12553a9666 [NO ISSUE][MISC] Update Plugin Versions
140db4d776 [NO ISSUE][MISC] Update io.grpc-* to 1.81.0
86e12e055e [NO ISSUE][MISC] Update Third-party Dependencies
d1798263af [ASTERIXDB-3709][COMP] Intersect Btree & Array Indexes
5923ab624e [NO ISSUE][EXT]: add knobs to s3 parquet
b41fa7ee39 [NO ISSUE][MISC] Update Jackson to 2.21[.3] for GHSA-72hv-8253-57qq
c50696b549 [ASTERIXDB-3709][COMP] Switch PushSelectDown rule from pre-order to post-order
de806c1cfa [NO ISSUE][OTH] Bump protobuf-java to 4.33.2
39374d7de2 [NO ISSUE][TEST] Check out ch2 at specific version
a7f336e283 [NO ISSUE][MISC] Update StringJsonParseEval for compat w/ Jackson 2.21[.3]
9471a9678c [ASTERIXDB-3767][COMP] Enable external access for object_transform arg
589db17000 [ASTERIXDB-3649][API] Async API enhancements
903ff36890 [ASTERIXDB-3764][NET]: Avoid reusing failed connections after NC restart
cbf8e36da8 [NO ISSUE][HYR][MISC] Fix Span lifefycle / API issues
cc641276fc [NO ISSUE][MISC] Update deps to latest patch versions
497cd3f9e6 [ASTERIXDB-3649][API] Print request status after receiving CC response
05df75ff93 [ASTERIXDB-3758][COMP] Fix nested UPDATE on arrays to handle non-record element replacement
9e758913e2 [NO ISSUE][MISC] Update Log4J to 2.25.4 for CVEs
d43dbe0515 [ASTERIXDB-3766][COMP] Fix NPE with LOJ ON condition having NOT EXISTS
9e43b090b4 [ASTERIXDB-3606][COMP]: Fix join condition handling for bushy plans
8b66ab0db4 [ASTERIXDB-3707][EXT] Add file level split while reading parquet files
024c559ac9 [ASTERIXDB-3765][COMP] Fix OBJECT_PUT/ADD() type computers
b0d489cc47 [ASTERIXDB-3634][EXT]: Add support to Azure ADLS Iceberg FileIO
24b2f57370 [NO ISSUE][*DB][STO] Enable reloading of cloud configuration at runtime
01ba3ee852 [ASTERIXDB-3761][COMP] Replace meta() inside subplans
140fbd8bc9 [NO ISSUE][MISC] Update google-cloud-storage to 2.67.0
4d67376383 [NO ISSUE] Disable NCServiceExecutionIT
cff371e899 [ASTERIXDB-3712][COMP] Fixing UPDATE statement null and missing handling.
3d52ca1830 [ASTERIXDB-3757][EXT] Handle error in parquet empty schema
fdae9713fe [ASTERIXDB-3738][COMP] Not allowing Closed-type records in object-transform function.
f65d112bbc [NO ISSUE][NET] Consume grpc netty directly instead of shaded artifact
e11fff2922 [ASTERIXDB-3755][EXT] Improve parquet row group filters while querying external collections
2cd32a0b9c [ASTERIXDB-3717][COMP] Changing the error when updating a primary key
d53f901b5e [ASTERIXDB-3634][EXT]: add support to multi-level namespaces
3fdfc87535 [ASTERIXDB-3687][API] Ensure consistent time units used for request metrics
87ab069446 [ASTERIXDB-3756][COMP] Fix setting common expressions limit property
cffb45b2ac [NO ISSUE][OTH] Extend statements in QueryTranslator
11359d40f9 [NO ISSUE][*DB][STO] Clean up Azure cloud client configuration
84db0ace4b [NO ISSUE][EXT] Fix failing hdfs tests
1b5873be94 [ASTERIXDB-2877][EXT] Fix multi-byte/emoji character corruption in CSV output
066ded900b [ASTERIXDB-3700][RT] Extend BTree search tuple filter
e4e12698ce [ASTERIXDB-3677][COMP] Don't push LIMIT without condition
fc81115e1e [NO ISSUE][EXT]: Make catalog methods extendable
18246a5f1d [ASTERIXDB-3752][COMP] Maintain correlated keys with LIMIT
5c0c9adfce [ASTERIXDB-3693][API] Add request level result_ttl
9188358298 [NO ISSUE][MISC] update deps
250eb2c6e9 [NO ISSUE][*DB][STO] Configure & honor max idle & max lifetime for cloud connections
07de7fd89f [NO ISSUE][EXT] Throw ExternalSourceError when colons are present in HDFS path
3444a4855f [NO ISSUE][*DB][EXT] Update aircompressor to 2.0.3 for CVE
cd7cd76d34 [ASTERIXDB-3709][COMP]: Optimize select operator when using index for disjunction
dcd7001abf [ASTERIXDB-3749][OTH] Update tests doing OR to JOIN
2cedb87cd8 [ASTERIXDB-3709][COMP] Add hash exchange, stable sort while doing primary lookup
90af3734e3 [ASTERIXDB-3752][COMP] Maintain correlated keys with LIMIT
e4eeb18d0d [ASTERIXDB-3753][COMP] Fix typed index incorrectly used with mixed-type OR values
cfcc54cfad [ASTERIXDB-3749][COMP] Change default values of compiler properties
20383c606a [ASTERIXDB-3750][COMP] Fix skip-index hint in disjunctive predicates for CBO
d3f228c738 [NO ISSUE]: Throw meaningful error instead of internal error
67139edd41 [ASTERIXDB-3749][COMP] Fix default values of compiler properties
23c993f2cd [NO ISSUE][EXT]: property set if connecting to HNS account or not
020edd114c [NO ISSUE][EXT]: allow custom non-AWS regions
b11a769047 [NO ISSUE][EXT]: warehouse should be optional for REST catalogs
4fc8188433 [NO ISSUE][EXT]: properly check username and password presence
35e8473687 [ASTERIXDB-3749][COMP] Update names and default values of compiler properties
510cef3814 [ASTERIXDB-3716]: Make DATATYPE_PAYLOAD_TUPLE_FIELD_INDEX public to allow extensibility
b34ca5d598 [NO ISSUE][*DB][TEST] Fix test failures caused by replicate optimization patch
264589c7f5 [NO ISSUE][*DB][LIC] Add missing license for org.tukaani:xz
aa2c0a739f [NO ISSSUE][TEST] Making map's iteration deterministic
0452b490ef [ASTERIXDB-3634][EXT]: Fix error messages
054cda57fb Revert "[ASTERIXDB-3713][COMP] Directive for extracting common ops"
64a9d70555 [ASTERIXDB-3631][RT] Profile nested groupby clauses
dfeb41535d [ASTERIXDB-3713][COMP] Improve adding replicate operators and improve isomorphism checks
cfa6399b92 [ASTERIXDB-3709][COMP] Support array indexes for disjunction
48f9cca780 [ASTERIXDB-3709][COMP] Fix false positive check by handling nested conditions
c111aced23 [ASTERIXDB-3714][OTH] Add tests for hash-based OR
ad3b7f7d09 [ASTERIXDB-3748][COMP] Initialize chosen indexes
7d961d2992 [ASTERIXDB-3747][COMP] Introduce compiler property for hash-based OR threshold
fc0c99458f [ASTERIXDB-3709][COMP] Propagate skip-index annotation across disjunctive predicates
1dbd78a45a [NO ISSUE][UI] Fix dashboard build
ee889b939a [NO ISSUE][*DB][EXT] Advance Apache Avro to 1.12.1 for CVE
f1aa938647 [NO ISSUE][*DB][EXT] Update Apache Hadoop -> 3.4.2 for CVE
25e8408837 [NO ISSUE][*DB][STO] Refactoring to enable alternate cloud props
c5b893fad7 [ASTERIXDB-3743][EXT] Failure to pushdown iceberg partition filter
44937d9c6c [ASTERIXDB-3744][*DB][STO] Fix expected test results
86cfb16631 [ASTERIXDB-3634][EXT]: Refactor iceberg code
a2e871c380 [ASTERIXDB-3744][*DB][STO] Support explicit blob storage certificates
dd57da2baf [NO ISSUE][HYR][MISC] Add annotation for citing AI contributions
60527ac091 [NO ISSUE][*DB][TEST] Updates to enable latest Docker Desktop
86605e2816 [ASTERIXDB-3715][FUNC] Fix double-offset bug in KMP string search
bbf35e8393 [ASTERIXDB-3718][COMP] Fixing the result of object_put function
0012a5f075 [NO ISSUE][*DB][LIC] Add missing license for org.tukaani:xz
0aa0e0aea8 [NO ISSUE][HYR] Fix NPE in AbstractIoOperation and improve cloud interrupt handling
7c46861bf7 [NO ISSUE][*DB][EXT] Update aircompressor to 2.0.3 for CVE
113c0f223e [NO ISSUE][TEST] Add debug info for GlobalVirtualBufferCacheTest flakiness
4dc23b4748 [ASTERIXDB-3715][RT] Upgrade UTF8StringPointable string search to KMP
02cb3c3f67 [NO ISSUE][COMP] Add max expression tree size compiler property
9b0d7f72b8 [NO ISSUE][COMP] Improve compile time
da5ca84a06 [ASTERIXDB-3713][COMP] Directive for extracting common ops
731196888c [ASTERIXDB-3714][RT] Improve evaluation of OR function with many args
32c1672cbb [ASTERIXDB-3713][COMP] Support moving replicate operator past the joins
0b5e605580 [ASTERIXDB-3708][COMP] Fix range-filter pushdown with secondary index intersection
f8dea60ab4 [ASTERIXDB-3714][RT] Improve evaluation of OR function with many args
9ae2317fb5 [ASTERIXDB-3709][COMP] Support disjunctions in index lookups
dc43507671 [ASTERIXDB-3634][EXT] Error reading iceberg timestamp data type
c692db609d [NO ISSUE][*DB][EXT] Update Apache Hadoop -> 3.4.2 for CVE

Change-Id: Id7d20b9c9106485fe89e9310fe41fdcbc9b4339a
tree: 74f620e40d80f638ababb16ea469e2b82a6cbfb1
  1. asterixdb/
  2. hyracks-fullstack/
  3. .gitattributes
  4. .gitignore
  5. build.xml
  6. pom.xml
  7. README.md
README.md

What is AsterixDB?

AsterixDB is a BDMS (Big Data Management System) with a rich feature set that sets it apart from other platforms. Its feature set makes it well-suited to modern needs such as web data warehousing and social data storage and analysis. AsterixDB has:

  • Data model
    A semistructured NoSQL style data model (ADM) resulting from extending JSON with object database ideas

  • Query languages
    An expressive and declarative query language (SQL++ that supports a broad range of queries and analysis over semistructured data

  • Scalability
    A parallel runtime query execution engine, Apache Hyracks, that has been scale-tested on up to 1000+ cores and 500+ disks

  • Native storage
    Partitioned, flexible LSM-based row and column storage, with indexing to support efficient ingestion and management of semistructured data

  • External storage
    Support for query access to externally stored data (e.g., data in HDFS) as well as to data stored natively by AsterixDB

  • Data types
    A rich set of primitive data types, including spatial and temporal data in addition to integer, floating point, and textual data

  • Indexing
    Secondary indexing options that include B+ trees, R trees, and inverted keyword (exact and fuzzy) index types

  • Transactions
    Basic transactional (concurrency and recovery) capabilities akin to those of a NoSQL store

Learn more about AsterixDB at its website.

Build from source

To build AsterixDB from source, you should have a platform with the following:

  • A Unix-ish environment (Linux, OS X, will all do).
  • git
  • Maven 3.3.9 or newer.
  • JDK 21 or newer.
  • Python 3.11+ with pip and venv

Instructions for building the master:

  • Checkout AsterixDB master:

      $git clone https://github.com/apache/asterixdb.git
    
  • Build AsterixDB master:

      $cd asterixdb
      $mvn clean package -DskipTests
    

Run the build on your machine

Here are steps to get AsterixDB running on your local machine:

  • Start a single-machine AsterixDB instance:

      $cd asterixdb/asterix-server/target/asterix-server-*-binary-assembly/apache-asterixdb-*-SNAPSHOT
      $./opt/local/bin/start-sample-cluster.sh
    
  • Good to go and run queries in your browser at:

      http://localhost:19006
    
  • Read more documentation to learn the data model, query language, and how to create a cluster instance.

Documentation

To generate the documentation, run asterix-doc with the generate.rr profile in maven, e.g mvn -Pgenerate.rr ... Be sure to run mvn package beforehand or run mvn site in asterix-lang-sqlpp to generate some resources that are used in the documentation that are generated directly from the grammar.

Community support