Skip to content

Commit

Permalink
Better links and TOC reorg
Browse files Browse the repository at this point in the history
  • Loading branch information
AshwinJay committed Mar 25, 2018
1 parent 2eb2b03 commit f7767db
Showing 1 changed file with 17 additions and 19 deletions.
36 changes: 17 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@
* [Possible use cases](#possible-use-cases)
* [Hot-cold store](#hot-cold-store)
* [Basics](#basics)
* [Advanced](#advanced)
* [Architecture](#architecture)
* [Misc](#misc)
<!-- te -->

# Introduction

### What is it?
Jarasandha is a small Java library to help build an archive of records. It has very few moving parts, embraces immutability, efficient compression, buffer management and zero copy transfer. It delegates advanced functions to external services using interfaces.
Jarasandha is a small Java (version 8+) library to help build an archive of records. It has very few moving parts, embraces immutability and provides efficient compression, buffer management and zero copy transfer. It delegates advanced functions to external services using interfaces.

It is composed of these parts:

Expand Down Expand Up @@ -72,26 +72,32 @@ Assuming that the keys and metadata to service queries are much smaller than the
See [Hot-cold store](doc/hot-cold-store.md) for details.

# Basics
[ReadersAndWritersDemoTest](jarasandha-store-filesystem/src/test/java/io/jarasandha/store/filesystem/ReadersAndWritersDemoTest.java) demonstrates how to write to files and also to read them back using the APIs:
[ReadersAndWritersDemoTest](https://github.com/AshwinJay/jarasandha/blob/master/jarasandha-store-filesystem/src/test/java/io/jarasandha/store/filesystem/ReadersAndWritersDemoTest.java) demonstrates how to write to files and also to read them back using the APIs:

* [StoreReader](jarasandha-store/src/main/java/io/jarasandha/store/api/StoreReader.java)
* [StoreWriter](jarasandha-store/src/main/java/io/jarasandha/store/api/StoreWriter.java)
* [Index](jarasandha-store/src/main/java/io/jarasandha/store/api/Index.java)
* [Block](jarasandha-store/src/main/java/io/jarasandha/store/api/BlockWithRecordOffsets.java)
* [StoreReader](https://github.com/AshwinJay/jarasandha/blob/master/jarasandha-store/src/main/java/io/jarasandha/store/api/StoreReader.java)
* [StoreWriter](https://github.com/AshwinJay/jarasandha/blob/master/jarasandha-store/src/main/java/io/jarasandha/store/api/StoreWriter.java)
* [Index](https://github.com/AshwinJay/jarasandha/blob/master/jarasandha-store/src/main/java/io/jarasandha/store/api/Index.java)
* [Block](https://github.com/AshwinJay/jarasandha/blob/master/jarasandha-store/src/main/java/io/jarasandha/store/api/BlockWithRecordOffsets.java)

----

⚠️ The following content is work in progress ⚠️

----

A [command line tool](jarasandha-store-filesystem/src/main/java/io/jarasandha/store/filesystem/cli) to import and inspect encoded files is also available.
# Advanced

A [command line tool](https://github.com/AshwinJay/jarasandha/blob/master/jarasandha-store-filesystem/src/main/java/io/jarasandha/store/filesystem/cli) to import and inspect encoded files is also available.

Efficiency

Compression, blocks, memory efficiency of ByteBuf, native heap size
Compression, blocks, memory efficiency of ByteBuf, native heap size.

Zero copy with compressed index and uncompressed blocks. Zip the entire file while archiving.

Writing - NoOpFileWriteProgressListener to push files to S3

Pre-reqs: Java 8, Maven
Reading - DefaultFileEventListener to build archiving and retrieval

# Architecture

Expand All @@ -103,12 +109,4 @@ Logical record position, need to secondary store

Compression and caching

Writer and reader efficiency - ButeBuf

# Misc

CLI importer

Writing - NoOpFileWriteProgressListener to push files to S3

Reading - DefaultFileEventListener to build archiving and retrieval
Writer and reader efficiency - ButeBuf

0 comments on commit f7767db

Please sign in to comment.