Besmellah Allah Alrahman Alrahim

Introduction

Lesan is a collection of a Web Server and an ODM along with an idea to implement microservices.

In this framework, we tried to delegate data retrieval management to the client, inspired by the idea of ​​GraphQL, without adding an extra layer (such as GQL language processors) on the client and server side. In addition, we use all the capabilities of NoSQL databases so that we can embed all the relationships of a schema within itself without involving the server-side programmer in managing the creation, retrieval, updating, and deletion of duplicated embeddings.

Meanwhile, we should have a regular structure (such as SQL) for data models in the ODM layer so that we can always validate the data.

Also, we have provided a new definition for creating relationships between data, which makes us fully master its details and do wonderful things with them. Read more aboit it here

Furthermore, we tried to provide the possibility of being movable for the data structure along with the functions written on the server side so that we can manage microservices more easily.

Finally, this data structure (by the favor of fewer requests sent to the database) will also simplify the way SSG content is created.

In one sentence, Lesan may add a few to five hundred milliseconds to the creation, update, and deletion process, but it makes reading data fifteen to several hundred times faster.

Benchmarks

Lesan
0.130s
Prisma Postgres
1.649s
Prisma Postgres GraphQL
1.973s
Mongoose Not Sort
5.896s
Mongoose Sort
94.106s

We use this formula to calculate the difference : (B - A) ÷ A * 100
As you see on the chart:

  • Lesan returns data to client 1168% faster than the prisma-express-rest. Which uses postgres as a database.
  • Lesan returns data to client 1417% faster than the prisma-express-graphql. Which uses postgres as a database.
  • Lesan returns data to client 4435% faster than the mongoose-express-rest (Note that we did not sort in this query)
  • Lesan returns data to client 72289% faster than the mongo-express-rest (Note that we did not sort in this query)
  • Lesan returns data to client 298971% faster than the mongoose-express-rest (used sortby)

Maybe we created the most performant framework in the world! see more detailed benchmark

This video is an introductory tutorial on Lesan framework in Farsi language