Amazon Ion Qldb
AMAZON QLDB
Code Snippet
sudo yum -u update
sudo yum -y install java-1.8.0-openjdk-dev
sudo yum -y install java-1.8.0-openjdk-devel
udo update-alternatives --config javac
java -version
javac -version
curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk install gradle
gradle -version
Gradle stuff
mkdir lab2cd lab2
gradle init --type java-application
build.gradle
dependencies {
// This dependency is used by the application.
implementation 'com.google.guava:guava:29.0-jre'
// Use JUnit test framework
testImplementation 'junit:junit:4.13'
compile group: 'com.amazon.ion', name: 'ion-java', version: '1.6.1'
compile group: 'software.amazon.qldb', name: 'amazon-qldb-driver-java', version: '2.0.0-rc.1'
compile group: 'com.amazonaws', name: 'aws-java-sdk-qldb', version: '1.11.785'
}
mavenCentral()
Application.java
package lab2;public class App {
public static void main(String[] args) {
System.out.println("Let's play with Ion!");
}
}
The code
package lab2;import com.amazon.ion.*;import com.amazon.ion.system.*;import com.amazon.ion.util.*;import software.amazon.awssdk.services.qldbsession.*;import software.amazon.awssdk.services.qldbsession.model.OccConflictException;import software.amazon.qldb.*;import software.amazon.qldb.exceptions.TransactionAbortedException;import java.util.Iterator;public class SlowUpdate { public static void main(String[] args) throws Exception { QldbSessionClientBuilder sessionClientBuilder = QldbSessionClient.builder(); //RetryPolicy retryPolicy = RetryPolicy.builder().maxRetries(3).build(); RetryPolicy retryPolicy = RetryPolicy.none(); QldbDriver driver = QldbDriver .builder() .ledger("ion-lab") .sessionClientBuilder(sessionClientBuilder) .transactionRetryPolicy(retryPolicy) .build(); try { driver.execute(txn -> { Result result = txn.execute("SELEC
References
- Amazon QLDB - https://aws.amazon.com/qldb/
- https://docs.aws.amazon.com/qldb/latest/developerguide/what-is.html
- Amazon QLDB Java Driver - https://javadoc.io/doc/software.amazon.qldb/amazon-qldb-driver-java/latest/index.html
- Amazon ION - http://amzn.github.io/ion-docs/
- Amazon ION Cook book - http://amzn.github.io/ion-docs/guides/cookbook.html
- PartiQL (compatible access to relational, semi-structured, and nested data.) - https://partiql.org/
- http://tinyurl.com/y4kdbt3k
- Ledger capabilitlies of QLDB as a demo
- Emile Baizel (AWS): https://tinyurl.com/y4kdnt3k
- https://tinyurl.com/y64kmpmd
Written on November 1, 2021