website development for self storage

2022.03.26

Hello everyone,I'mCarl。

Recently, many small partners ask me about some,Project selection,I believe that if it isC++Backstage development route,Basically do itWebServer server

I am giving a trip to my friends.,Includes so many resumes,DiscoverWebServerThis project is really more,A bit bad street

So today I have developed yourself KVStorage engine Introduce a wave for you,Everyone can take it as their own project experience.。

I believe that as long as you are engaged in backed, you should be familiar with non-relational databases.redisBar,So you should knowredisThe storage engine is implemented

(Website Development for Self Storage)Many cloud databases provided by many cloud manufacturers,Its underlying is used.FacebookOpen sourcerocksdb,androcksdbThe bottom layer isGoogleOpen sourceLevedb,andLevedbThe core implementation is also a journey

So everyone should knowJumpHow wide application is。

So why this project is very suitable for your own project experience??

If you are developing backend,You will definitely write familiar or understanding on your resume.redisBar,So you can further introduce your project with the jump table.redisCore engine。

The interviewer will be very interested,Then you can talk to the interviewer and talk about how you use the jump table.KVStorage engine。

It's high in instant.,There is wood!

I'm here18Yearn,A lightweight is implemented with a jump tableKVStorage engine,A very standardized code also written,Familiar with my friends should know,My code is strictGoogle C++ styleCome

Because I wanted to internationalize this project at the time.,Note andreadmeEnglish,But recently, I will return this project.,Convenient everyone understands。

Give everyone first to see a code,I am in the comment, I have already explained the principle of running.。Code is usedC++Template programming,This interface supports any type of data(Including yourself custom class)

website development for self storage

The code quality in this project is very high.,IfC++Features,Or code style is absolutely!

(Website Development for Self Storage)All right,Cow,Then give you a formal introduce this project.

KVStorage engine

This project is a lightweight key-value storage engine based on hop.,useC++accomplish。Insert data、delete data、Query data、Data Display、Data set、Document loading data,And database size display。

In the case of a random write,The project can be handled per second.(QPS): 24.39w,Treatment of read requests per second(QPS): 18.41w

Project display

website development for self storage

File function:

  • main.cpp Includeskiplist.hUse the jump table for data operation
  • skiplist.h Jump core implementation
  • README.md Chinese introduction
  • README-en.md English introduction
  • bin Generate an executable file directory
  • makefile Compile script
  • store Documentation file stored in this folder
  • stress_test_start.sh Pressure test script
  • LICENSE Use Agreement

Interface

  • insertElement(Insert data)
  • deleteElement(delete data)
  • searchElement(Query data)
  • displayList(Show existing data)
  • dumpFile(Data set)
  • loadFile(Document loading data)
  • size(Return to data size)

Storage engine data performance

Insert operation

Jump table:18

Randomly inserted data test:

Insert data scale(Ten thousand)time consuming(Second)100.316763501.867781004.10648

Write a number of write requests per second(QPS): 24.39w

Data operation

Data scale(Ten thousand)time consuming(Second)100.47148502.563731005.43204

Treatment of read requests per second(QPS): 18.41w

Project operation mode

make            // complie demo main.cpp
./bin/main      // run
(Website Development for Self Storage)Run screenshot:(Among them, inserted data,delete data,Display data, etc.)

website development for self storage

If you want to write a program, use thiskvStorage engine,Just need youCPPIn the fileinclude skiplist.h You can。

(Website Development for Self Storage)Can run the following script testkvStorage engine performance(Of course, you can modify it according to your needs.)

sh stress_test_start.sh

project address:https://github.com/youngyangyang04/Skiplist-CPP

White is white,Don't forget to givestar,fork,Support one wave! If you finally getofferIn,Don't forget to have a good time.。

(Website Development for Self Storage)Click belowRead the original text,Direct projectGithubHomepage(domesticGithubAccess is unstable,Multiple points may be visited)

返回列表
更多新闻资讯