RSSAmplifier

Blog

Persy.rs

Persy Storage Engine

perys.rsRSS feed ↗50 posts

Latest posts

Persy 1.8

As been quite a while since the last release and here is a new release, is not too big, mostly include refactor and some new experimental APIs for debug, but let's go through the changes

Persy 1.7

Roughly 9 months after the last release, here we are with a new release, it has only small changes though, let's go through them

Persy 1.6

Has been a few months from the last post, and more or less 10 months from the last minor, I did not have much to include in a new minor, so things went a bit longer than usual, most of the work in the last months/year was on stability, I wrote a suite of crash tests, and run it for discovering issues, and verify the related fixes, this resulted in 3 hotfixes that solved most of the problem I…

Crash Testing Progress

Has not been long since the last release, more or less 4 months, but I do want to give some updates anyway. The work on Persy as now, is mainly around stabilization, there are a set of new features that I would love to add, but crash testing and fixing relative discovery is taking the priority.

Persy 1.5

Has been quite a long time since the last minor release (more or less 1 year), here we are with a new minor release!! Between the last minor and this there have been 7 patch releases, that solved a bunch of issue reported by the users, but some problems required major re-work and could not be fixed in a patch release, so changes are included in this release. Checking the diff with the previous…

Long Work In Progress

It has been more or less 6 months since the last Persy release, and usually this is the time to do a new release, but as time of writing there is not much to release yet, so I'm writing this blog post to give a status update on the current working in progress.

Persy 1.4

Hello everyone! Six months after the 1.3 release here we are with a new shining 1.4, mostly a bugfix release with no new features.

Persy 1.3

Few months after the 1.2 here we are with 1.3 release, this includes a small set of improvements mainly in stability and maintainability, most of the work on this release was around refactors and fix some durability issues that lead to changes and disk format, but let's go through the whole list of changes:

Persy 1.2

Right after the 1.1 release we get 1.2 out, which includes a few stability changes and mainly performance improvements, especially in background sync, that reduced a lot the latency of the commit, so let's go trough the changes.

Persy 1.1

Quickly after the release of Persy 1.0 just a bit less than 4 months we have the 1.1 this release does not have big changes compared the previous release in terms of functionality or stability, most of the work that went in this release was just performance tuning.

Persy 1.0

Finally 1.0 is out! It has been roughly 4 years from the 0.1 release and 5 years from the first commit, with a total ~700 git commits from 6 contributors, 11 minor releases, and 37 hotfixes !!!

Persy 0.10

Has been quite some time since the last release and this release pack quite a lot of changes in it, not exactly following the planned path, but still a nice set of changes.

Persy 0.11

After a few months from the 0.10 here we are with a new release, this is mostly a stabilization and finalization release, let's go trough the details.

Persy 0.9

With slightly more time then previous release but still quick enough is coming out a new release, this bring a quite big set of features and fixes.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Persy 0.8

Quite quickly a new release did build up, in less than two months we managed to merge a quite big pull request, and do some quite big changes in the engine.

Persy 0.7

In the last couple of months just right after the release of Persy 0.6 the development speeded up a bit, a few people started to play with persy and some downstream projects as well, first reporting few critical issue that produced the 3 hotfix 0.6.1,0.6.2,0.6.3 and then starting contributing back.

Persy 0.6

Again in just roughly 3 months a new release of Persy is out, this include a good set of improvements.

Used By

Active

Tools

Persy Export Import A tool for export and import data from Persy storages, useful for cold backup and data migration across Persy versions Source Docs Crates

Persy 0.5

With a faster peace Persy 0.5 is coming to light, it was supposed to be a smaller release than the previous one, but it turns out to include a good amount of changes, here is an overview of all the changes:

What's wrong with the colors of this website?

So the truth is that I'm really bad designing something that look decent, and at the same time I don't want to get down to a preset design from a css framework I want something unique, In the process to get out something that look decent, every new release I try a new color style hoping that after some attempts statistically I will get something that look decent, or someone with better skill than…

Transactional Disc Safety

Persy being a transactional(ACID) storage have to guarantee when a transaction has been confirmed to be written successfully even if there is a complete software crash the transaction is written, in the opposite if there is a software crash before the transaction is fully completed the data should be rollback-ed to the previous state, and more important does not matter when the system crash a…

Change Log

Persy 1.8 ✓ Internal refactor to split transaction recover logic from transaction runtime logic. ✓ Add new method for inspect journal without actually executing a recover.

Persy 0.4

Finally after long time the release 0.4 can be published, it's the biggest releases so far from the git stats we have: 27 files changed, 3620 insertions(+), 806 deletions(-) and include most of the functionality I expected to be covered by this project, so the API of this release will be more or less the API of the 1.0.0 at least in terms of functionality, is expected some minor adjustment and…

Internal Structure

Persy use a single file to keep all the meta information and data, this file is split in pages of different size and different role.

Roadmap

Persy 1.x x Not Much planned, submit issue on GitLab

Old Releases

1.7

Persy 0.3

The third feature build up of a transactional storage is done.

Persy 0.2

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Getting Started

Persy is a storage based on a single file where data can stored in sub-containers called "segment", so as first step let's create a file the basic file add on it a segment and insert on it some raw data.

Persy 0.2

The second step for a single file storage engine completely written in rust is done.

Persy 0.1

This is the announcement of the release of Persy the initial step for a single file storage engine fully written in Rust.

Getting Started 0.1

Creating the first storage file and opening it