Skip to content

Commit

Permalink
release: v1.9.5
Browse files Browse the repository at this point in the history
  • Loading branch information
ostafen committed Sep 16, 2024
1 parent dff412a commit 86e956f
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 38 deletions.
21 changes: 19 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,24 @@ All notable changes to this project will be documented in this file. This projec
## [Unreleased]


<a name="v1.9.5"></a>
## [v1.9.5] - 2024-09-16
### Bug Fixes
- time.Since should not be used in defer statement
- **pkg/dabase:** return error when attempting to access deleted database
- **pkg/pgsql/server:** close row readers to release resources
- **pkg/server:** run metrics server under HTTPS

### Changes
- **embedded/logging:** improve file base logging.
- **embedded/sql:** improvements on SQL layer.
- **embedded/store:** improve index flush logic
- **pkg/database:** implement database manager
- **pkg/server:** implement automatic generation of self-signed HTTPS certificate


<a name="v1.9.4"></a>
## [v1.9.4] - 2024-07-24
## [v1.9.4] - 2024-07-25
### Bug Fixes
- set mattermost payload

Expand Down Expand Up @@ -3885,7 +3901,8 @@ All notable changes to this project will be documented in this file. This projec
- **tree:** MTH reference impl


[Unreleased]: https://github.com/vchain-us/immudb/compare/v1.9.4...HEAD
[Unreleased]: https://github.com/vchain-us/immudb/compare/v1.9.5...HEAD
[v1.9.5]: https://github.com/vchain-us/immudb/compare/v1.9.4...v1.9.5
[v1.9.4]: https://github.com/vchain-us/immudb/compare/v1.9.3...v1.9.4
[v1.9.3]: https://github.com/vchain-us/immudb/compare/v1.9DOM.2...v1.9.3
[v1.9DOM.2]: https://github.com/vchain-us/immudb/compare/v1.9DOM.2-RC1...v1.9DOM.2
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export GO111MODULE=on

SHELL=/bin/bash -o pipefail

VERSION=1.9.4
VERSION=1.9.5
DEFAULT_WEBCONSOLE_VERSION=1.0.18
SERVICES=immudb immuadmin immuclient
TARGETS=linux/amd64 windows/amd64 darwin/amd64 linux/s390x linux/arm64 freebsd/amd64 darwin/arm64
Expand Down
67 changes: 34 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ When used as a relational data database, it supports both transactions and blobs

### Getting immudb running: executable

You may download the immudb binary from [the latest releases on Github](https://github.com/codenotary/immudb/releases/latest). Once you have downloaded immudb, rename it to `immudb`, make sure to mark it as executable, then run it. The following example shows how to obtain v1.9DOM.1 for linux amd64:
You may download the immudb binary from [the latest releases on Github](https://github.com/codenotary/immudb/releases/latest). Once you have downloaded immudb, rename it to `immudb`, make sure to mark it as executable, then run it. The following example shows how to obtain v1.9.5 for linux amd64:

```bash
wget https://github.com/codenotary/immudb/releases/download/v1.9DOM.1/immudb-v1.9DOM.1-linux-amd64
mv immudb-v1.9DOM.1-linux-amd64 immudb
wget https://github.com/codenotary/immudb/releases/download/v1.9.5/immudb-v1.9.5-linux-amd64
mv immudb-v1.9.5-linux-amd64 immudb
chmod +x immudb

# run immudb in the foreground to see all output
Expand Down Expand Up @@ -101,6 +101,7 @@ helm repo add immudb https://packages.codenotary.org/helm
helm repo update
helm install immudb/immudb --generate-name
```

### Using subfolders

Immudb helm chart creates a persistent volume for storing immudb database.
Expand All @@ -114,6 +115,7 @@ This is different from what we did on older (<=1.3.1) helm charts, so if you hav
value volumeSubPath to false (i.e.: `--set volumeSubPath.enabled=false`) when upgrading so that the old way is used.

You can alternatively migrate the data in a `/immudb` directory. You can use this pod as a reference for the job:

```yaml
apiVersion: v1
kind: Pod
Expand All @@ -131,12 +133,13 @@ spec:
- mountPath: "/data"
name: "vol0"
command:
- sh
- -c
- |
mkdir -p /data/immudb
ls /data | grep -v -E 'immudb|lost\+found'|while read i; do mv /data/$i /data/immudb/$i; done
- sh
- -c
- |
mkdir -p /data/immudb
ls /data | grep -v -E 'immudb|lost\+found'|while read i; do mv /data/$i /data/immudb/$i; done
```
As said before, you can totally disable the use of subPath by setting `volumeSubPath.enabled=false`.
You can also tune the subfolder path using `volumeSubPath.path` value, if you prefer your data on a
different directory than the default `immudb`.
Expand Down Expand Up @@ -235,7 +238,6 @@ Or just use Docker to run immuclient in a ready-to-use container. Nice and simpl
docker run -it --rm --net host --name immuclient codenotary/immuclient:latest
```


## Using immudb

Lot of useful documentation and step by step guides can be found at https://docs.immudb.io/
Expand Down Expand Up @@ -272,7 +274,6 @@ Our [immudb Playground](https://play.codenotary.com) provides a guided environme
</a>
</div>


We've developed a "language-agnostic SDK" which exposes a REST API for easy consumption by any application.
[immugw](https://github.com/codenotary/immugw) may be a convenient tool when SDKs are not available for the
programming language you're using, for experimentation, or just because you prefer your app only uses REST endpoints.
Expand All @@ -289,34 +290,34 @@ Click here to try out the immudb web console access in an [online demo environme

## Tech specs

| Topic | Description |
| ----------------------- | -------------------------------------------------- |
| DB Model | Key-Value with 3D access, Document Model, SQL |
| Data scheme | schema-free |
| Implementation design | Cryptographic commit log with parallel Merkle Tree,|
| | (sync/async) indexing with extended B-tree |
| Implementation language | Go |
| Server OS(s) | BSD, Linux, OS X, Solaris, Windows, IBM z/OS |
| Embeddable | Yes, optionally |
| Server APIs | gRPC |
| Partition methods | Sharding |
| Consistency concepts | Immediate Consistency |
| Transaction concepts | ACID with Snapshot Isolation (SSI) |
| Durability | Yes |
| Snapshots | Yes |
| High Read throughput | Yes |
| High Write throughput | Yes |
| Optimized for SSD | Yes |
| Topic | Description |
| ----------------------- | --------------------------------------------------- |
| DB Model | Key-Value with 3D access, Document Model, SQL |
| Data scheme | schema-free |
| Implementation design | Cryptographic commit log with parallel Merkle Tree, |
| | (sync/async) indexing with extended B-tree |
| Implementation language | Go |
| Server OS(s) | BSD, Linux, OS X, Solaris, Windows, IBM z/OS |
| Embeddable | Yes, optionally |
| Server APIs | gRPC |
| Partition methods | Sharding |
| Consistency concepts | Immediate Consistency |
| Transaction concepts | ACID with Snapshot Isolation (SSI) |
| Durability | Yes |
| Snapshots | Yes |
| High Read throughput | Yes |
| High Write throughput | Yes |
| Optimized for SSD | Yes |

## Performance figures

immudb can handle millions of writes per second. The following table shows performance of the embedded store inserting 1M entries on a machine with 4-core E3-1275v6 CPU and SSD disk:

| Entries | Workers | Batch | Batches | time (s) | Entries/s |
| ------ | ------ | ------ | ------ | ------ | ------ |
| 1M | 20 | 1000 | 50 | 1.061 | 1.2M /s |
| 1M | 50 | 1000 | 20 | 0.543 | 1.8M /s |
| 1M | 100 | 1000 | 10 | 0.615 | 1.6M /s |
| ------- | ------- | ----- | ------- | -------- | --------- |
| 1M | 20 | 1000 | 50 | 1.061 | 1.2M /s |
| 1M | 50 | 1000 | 20 | 0.543 | 1.8M /s |
| 1M | 100 | 1000 | 10 | 0.615 | 1.6M /s |

You can generate your own benchmarks using the `stress_tool` under `embedded/tools`.

Expand All @@ -337,7 +338,7 @@ Below is a list of known projects that use immudb:
- [alma-sbom](https://github.com/AlmaLinux/alma-sbom) - AlmaLinux OS SBOM data management utility.

- [immudb-log-audit](https://github.com/codenotary/immudb-log-audit) - A service and cli tool to store json formatted log input
and audit it later in immudb Vault.
and audit it later in immudb Vault.

- [immudb-operator](https://github.com/unagex/immudb-operator) - Unagex Kubernetes Operator for immudb.

Expand Down
4 changes: 2 additions & 2 deletions helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ apiVersion: v2
name: immudb
description: The immutable database
type: application
version: 1.9.4
appVersion: "1.9.4"
version: 1.9.5
appVersion: "1.9.5"

0 comments on commit 86e956f

Please sign in to comment.