{"id":13566477,"url":"https://github.com/ScalateKids/Actorbase","last_synced_at":"2025-04-04T00:30:48.646Z","repository":{"id":217999958,"uuid":"52615255","full_name":"ScalateKids/Actorbase","owner":"ScalateKids","description":"A key-value NoSql database based on actor model","archived":false,"fork":false,"pushed_at":"2016-07-10T18:42:48.000Z","size":141,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-04T20:42:30.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/ScalateKids.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}},"created_at":"2016-02-26T15:56:49.000Z","updated_at":"2022-11-30T14:02:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"bdfa97f7-d6c4-4e1e-a2ca-2acfd5207c1d","html_url":"https://github.com/ScalateKids/Actorbase","commit_stats":null,"previous_names":["scalatekids/actorbase"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScalateKids%2FActorbase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScalateKids%2FActorbase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScalateKids%2FActorbase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScalateKids%2FActorbase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ScalateKids","download_url":"https://codeload.github.com/ScalateKids/Actorbase/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247103306,"owners_count":20884023,"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":"2024-08-01T13:02:10.498Z","updated_at":"2025-04-04T00:30:45.928Z","avatar_url":"https://github.com/ScalateKids.png","language":"Scala","funding_links":[],"categories":["Scala"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/ScalateKids/Actorbase-Server.svg?branch=master)](https://travis-ci.org/ScalateKids/Actorbase-Server)\n\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"https://github.com/ScalateKids/Actorbase-Documents/blob/master/img/ablogomd.png\" /\u003e\n\n\u003c/div\u003e\n \u003c/br\u003e\n\nActorbase is a key-value NoSQL database build upon the actor model for concurrency, hence the name \"Actorbase\".\n\n## Overview\n\n### The actor model\n\nThe actor model is a well known mathematical model, proposed by Carl Hewitt in the 1973, that abstract concurrent and distributed programming into actors.\n\nActors are entity that are capable of receiving messages, respond to other actors requests and create new actors if necessary.\nDuring its lifetime an actor can change its interface, hence change the type of messages it can handle.\n\n### NoSQL Database\n\nNoSQL (not only SQL) encompasses all the technologies developed for the databases in response to the demand of modern applications, i.e. the management of big amount of data.\n\nRelational databases fails to guarantee ACID properties while scaling in a distributed fashion.\n\n### Actorbase\n\nActorbase, as stated before, aims to be a Key-value NoSQL database that follows the actor model.\n\n## Design\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/ScalateKids/Actorbase-Documents/blob/master/img/RQ/DevManual/ClusterPmd.png\"\u003e\n\u003c/p\u003e\n\u003c/br\u003e\n\nActorbase is an application conceived to be used in a distributed fashion,\nbalancing load between multiple nodes as shown above.\n\nFor every incoming connection a dedicated actor, named clientactor,\nis spawned;\n\nit is responsible for all incoming requests from the\nclient that is connected, and his main role is to forward these requests directly to the\nmain actors equally distributed across the nodes of a\ncluster.\n\nIn this way, with main actors breeding\ntheir own hierarchy of subordinates, all incoming data is spread across the\ncluster network.\n\n## Quick start\n\nThe project is built using sbt, which is available on Linux, OSX and Windows as\nwell. Just clone the repository and run it\n```sh\n$ git clone https://github.com/ScalateKids/Actorbase.git\n$ cd Actorbase\n$ sbt \"run-main com.actorbase.actorsystem.actors.httpserver.HTTPServer -h \u003chostname\u003e -p \u003cport\u003e\"\n```\nRunning just sbt run will result in a fallback to localhost and 9999 as port,\nit is also possible to set exposed port to listen for connections and specify\ndifferent seeds:\n```sh\n$ sbt \"run-main com.actorbase.actorsystem.actors.httpserver.HTTPServer -h \u003chostname\u003e -p \u003cport\u003e\" -Dexposed-port=\u003clistening-port\u003e -Dseed-host=\u003cseed-hostname\u003e\n```\nFinally it is possible to build a fat jar\n```sh\n$ sbt assembly\n$ java -jar actorbase.jar -h \u003chostname\u003e -p \u003cport\u003e\n```\nmissing values for hostname and port will result in a fallback (localhost as hostname and 9999 as port)\n\nFor further details about configuration, see the [WIKI](../../wiki).\n\n## License\n\nSee the [LICENSE](LICENSE) file for license rights and limitations (MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FScalateKids%2FActorbase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FScalateKids%2FActorbase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FScalateKids%2FActorbase/lists"}