{"id":24532932,"url":"https://github.com/microstream-one/bookstore-demo-performance","last_synced_at":"2025-04-14T20:32:32.796Z","repository":{"id":45890639,"uuid":"257261461","full_name":"microstream-one/bookstore-demo-performance","owner":"microstream-one","description":"MicroStream BookStore Performance Demo","archived":false,"fork":false,"pushed_at":"2023-05-08T12:24:42.000Z","size":543,"stargazers_count":12,"open_issues_count":3,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T08:51:11.712Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microstream-one.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-20T11:36:09.000Z","updated_at":"2023-07-10T22:29:33.000Z","dependencies_parsed_at":"2022-09-23T09:43:31.072Z","dependency_job_id":null,"html_url":"https://github.com/microstream-one/bookstore-demo-performance","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microstream-one%2Fbookstore-demo-performance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microstream-one%2Fbookstore-demo-performance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microstream-one%2Fbookstore-demo-performance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microstream-one%2Fbookstore-demo-performance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microstream-one","download_url":"https://codeload.github.com/microstream-one/bookstore-demo-performance/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248955923,"owners_count":21189258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-22T10:18:59.102Z","updated_at":"2025-04-14T20:32:32.767Z","avatar_url":"https://github.com/microstream-one.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MicroStream BookStore Performance Demo\r\n\r\n![BookStore Demo](./docs/images/bookstoredemo.svg?raw=true)\r\n\r\nWith this demo the superior performance of MicroStream and the Java VM compared to JPA with a connected database is visualized.\r\nIt is a Spring Boot application with a Vaadin frontend. Per default Postgres is used, but you can change the application's setup, to use any other database.\r\n\r\n## Setup\r\n\r\n- First you need to setup a Postgres database. Then the connection settings must be adjusted in the [application.properties](src/main/resources/application.properties) file accordingly.\r\n\r\n- Start the program via its main class: [one.microstream.demo.bookstore.Application](src/main/java/one/microstream/demo/bookstore/Application.java)\r\n\r\n- At the first start a new MicroStream database is generated with random data. Depending on the setting `bookstoredemo.initialDataAmount` more or less data is produced.\r\n\r\n- Then the data has to be migrated to the connected JPA database\r\n  \r\n  - If `bookstoredemo.jpaDataMigrationStrategy` is `batch_insert` (default), the data will be automatically migrated.\r\n \r\n  - If it is set to `sql_file` the generated data will be written into a SQL file, which must then be imported into the JPA database.\r\n  It can be found in the configured data directory `bookstoredemo.dataDir`, default is [userhome]/microstream-bookstoredemo.\r\n  Please note, that this is by far the faster way, but the generated inserts are optimized for Postgres and probably won't work with a different database.\r\n  \r\nHere you can see the entity relationship diagram of the generated database:\r\n![ERD](./docs/images/erd.png?raw=true)\r\n\r\n## Usage\r\n\r\nAfter the application has started, open the client interface at: [http://localhost](http://localhost).\r\n\r\n![Screenshot](./docs/images/screenshot.png)\r\n\r\n## License\r\n\r\nThe MicroStream BookStore Performance Demo is released under the [MIT License](https://opensource.org/licenses/MIT).\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrostream-one%2Fbookstore-demo-performance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrostream-one%2Fbookstore-demo-performance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrostream-one%2Fbookstore-demo-performance/lists"}