{"id":18798009,"url":"https://github.com/polypheny/polypheny-fram","last_synced_at":"2025-08-10T16:33:52.549Z","repository":{"id":37830697,"uuid":"240291825","full_name":"polypheny/Polypheny-FRAM","owner":"polypheny","description":"Polypheny-FRAM is a plugin for Polypheny-DB making it the distributed polystore.","archived":false,"fork":false,"pushed_at":"2024-11-18T02:45:30.000Z","size":2671,"stargazers_count":7,"open_issues_count":20,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-20T17:23:14.109Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polypheny.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-13T15:20:16.000Z","updated_at":"2023-01-12T13:52:32.000Z","dependencies_parsed_at":"2025-04-13T17:09:21.587Z","dependency_job_id":"aa6066f0-79e2-44f7-84b9-b3f724e587fc","html_url":"https://github.com/polypheny/Polypheny-FRAM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/polypheny/Polypheny-FRAM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-FRAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-FRAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-FRAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-FRAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polypheny","download_url":"https://codeload.github.com/polypheny/Polypheny-FRAM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-FRAM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269753856,"owners_count":24470481,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2024-11-07T22:10:34.200Z","updated_at":"2025-08-10T16:33:51.950Z","avatar_url":"https://github.com/polypheny.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Polypheny-FRAM #\n\n[![GitHub CI](https://shields.dmi.unibas.ch/github/workflow/status/polypheny/Polypheny-FRAM/CI/master?label=GitHub%20CI\u0026logo=GitHub\u0026logoColor=white)](https://github.com/polypheny/Polypheny-FRAM/actions?query=workflow%3ACI) \n[![CodeFactor](https://shields.dmi.unibas.ch/codefactor/grade/github/polypheny/Polypheny-FRAM/master?label=CodeFactor\u0026logo=CodeFactor\u0026logoColor=white)](https://www.codefactor.io/repository/github/polypheny/polypheny-fram/overview/master)\n[![DBIS Nexus](https://shields.dmi.unibas.ch/nexus/maven2/org.polypheny/polypheny-fram?label=Latest%20Artifact\u0026logo=data:image/svg%2Bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNyA0Mi4yNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMyOWI0NzM7fS5jbHMtMntmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5OZXh1c1JlcG9fSWNvbl93aGl0ZStjb2xvcjwvdGl0bGU+PGcgaWQ9IlByb2R1Y3RfTG9nb3NfVmVydGljYWxfV2hpdGVfQ29sb3IiIGRhdGEtbmFtZT0iUHJvZHVjdCBMb2dvcyBWZXJ0aWNhbCBXaGl0ZSArIENvbG9yIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOS4xMywyN1YxOS41NmEzLjc3LDMuNzcsMCwwLDEsMi43Ny0xLjI4LDMuNTIsMy41MiwwLDAsMSwuODEuMDdWMTUuNDZhNC45MSw0LjkxLDAsMCwwLTMuNTgsMS43OVYxNS43NGgtM1YyN1oiLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMCAxMC4xOCAwIDMxLjU2IDE4LjUgNDIuMjUgMzcgMzEuNTYgMzcgMTEuMyAzMi40NiAxMy45MiAzMi40NiAyOC45NCAxOC41IDM3IDQuNTQgMjguOTQgNC41NCAxMi44MSAxNy42MyA1LjI1IDE3LjYzIDAgMCAxMC4xOCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOS40NCAwIDE5LjQ0IDUuMjUgMzEuNzMgMTIuMzUgMzYuMjcgOS43MyAxOS40NCAwIi8+PC9nPjwvc3ZnPg==)](https://nexus.dmi.unibas.ch/#browse/search/maven=attributes.maven2.groupId%3Dorg.polypheny%20AND%20attributes.maven2.artifactId%3Dpolypheny-fram)\n\n_Polypheny-FRAM_ is a plugin for Polypheny-DB making it the distributed polystore.\n\nPolypheny-FRAM is a research system developed at the University of Basel, Switzerland. \nPolypheny-FRAM is not intended to be used in a productive environment! Instead, it helps distributed database researchers to test and evaluate novel data management protocols.\n\n\n## Getting Started (Standalone Mode) ##\n 1) Clone the repository\n    \n 2) Run `gradlew jdk11_zipLinux64Package` to build a Linux distribution or `gradlew jdk11_zipWindows64Package` to build a Windows distribution. `gradlew jdk11_zipAll` builds both.\n    \u003e Note: OpenJDK 8 or 11 required to run this step.\n    \n 3) Enter either the Windows or the Linux distribution which have been assembled in `build/distributions` \n    - Linux:   run `bin/polypheny-fram`\n    - Windows: run `bin\\polypheny-fram`\n      \u003e Note for the Windows JDK 8 release (built with the target `jdk8_zipWindows64Package`):\\\n        Append the console arguments \"bin\\polypheny-fram.exe -c --console\" to attach a console to the process. Otherwise, Polypheny-FRAM would run as background process. This is a limitation of [packr](https://github.com/libgdx/packr). See [here](https://github.com/libgdx/packr#executable-command-line-interface) for details.\n    \n 4) a) Benchmark Polypheny-FRAM using [OLTPBench for Polypheny-FRAM](https://github.com/nouda/oltpbench). Working benchmarks: \n       - TPC-C (Transaction Processing Performance Council, Benchmark C)\n         \u003e Limitations:\n         \u003e - only one terminal if using writes\n         \u003e - without the \"StockLevel\" transaction\n           \n       - YCSB (Yahoo! Cloud Serving Benchmark)\n         \u003e Limitations:\n         \u003e - only one terminal if using writes\n    \n    b) Connect to Polypheny-FRAM using [polypheny-jdbc-driver:1.3](https://nexus.dmi.unibas.ch/#browse/search/maven=attributes.maven2.groupId%3Dorg.polypheny%20AND%20attributes.maven2.artifactId%3Dpolypheny-jdbc-driver%20AND%20version%3D1.3) with the following connection details:\n       - Driver Class: `org.polypheny.jdbc.Driver`\n       - Connection URL: `jdbc:polypheny://localhost/`\n       \u003e Note: You can also use the Apache Calcite Avatica driver [avatica-core:1.16.0](https://mvnrepository.com/artifact/org.apache.calcite.avatica/avatica-core/1.16.0). \n         Use the following connection details:\n       \u003e  - Driver Class:   `org.apache.calcite.avatica.remote.Driver`\n       \u003e  - Connection URL: `jdbc:avatica:remote:url=http://localhost:20591;serialization=protobuf`\n\n\n### Configuration ###\nPolypheny-FRAM uses the [typesafe](https://github.com/lightbend/config) library. \nCopy the file `conf/sample-application.conf` to `conf/application.conf` and edit the `conf/application.conf` to fit your needs.   \nYou can find the HOCON syntax [here](https://github.com/lightbend/config/blob/master/HOCON.md).\n\n### Persistency of Data ###\nIn the standalone mode, Polypheny-FRAM uses HSQLDB as the underlying data storage. By default, HSQLDB is configured to use in memory databases. Therefore, after Polypheny-FRAM has terminated, all data is lost.\n\n\n## Polypheny-DB Plugin ##\nPolypheny-FRAM can extend Polypheny-DB to provide data management protocols running on top of a cluster of Polypheny-DB nodes. Basically, distributing the polystore.\n\n\u003e Note: The extension mode is currently not available. Use the standalone mode to explore Polypheny-FRAM.\n\n\n## Credits ##\n_Polypheny-FRAM_ is based on the [Apache Calcite](https://calcite.apache.org/) server project and uses several other projects:\n\n* [Apache Avatica](https://calcite.apache.org/avatica/): A framework for building JDBC drivers\n* [Apache Calcite](https://calcite.apache.org/): A framework for building databases\n* [HSQLDB](http://hsqldb.org/): A relational database written in Java\n* [JavaCC](https://javacc.org/): A parser generator\n* [JGroups](http://www.jgroups.org/): A powerful library for reliable messaging\n* [Project Lombok](https://projectlombok.org/): A library providing compiler annotations\n* [Micrometer](https://micrometer.io/): A library providing a facade for metrics\n* [Typesafe Config](https://lightbend.github.io/config/): A library managing the configuration of the application\n* and many more! Please check the dependencies in the build.gradle file.\n\nThose projects are used \"as is\" and are integrated as libraries.  \n\n\n## Acknowledgements ##\nThe Polypheny-DB project is supported by the Swiss National Science Foundation (SNSF) under the contract no. 200021_172763.\n\n\n## License ##\nThe Apache License, Version 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolypheny%2Fpolypheny-fram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolypheny%2Fpolypheny-fram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolypheny%2Fpolypheny-fram/lists"}