{"_id":"58fbd6191e081a0f00add42b","user":"58fbcc0bd8c0ba0f00cf52d6","category":{"_id":"58fbcd136b29580f00d8ff3a","__v":0,"project":"5511fc8c0c1a08190077f90c","version":"5511fc8d0c1a08190077f90f","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-04-22T21:37:23.604Z","from_sync":false,"order":1,"slug":"audio-retrieval-and-analysis","title":"Audio Retrieval and Analysis"},"project":"5511fc8c0c1a08190077f90c","version":{"_id":"5511fc8d0c1a08190077f90f","__v":11,"project":"5511fc8c0c1a08190077f90c","createdAt":"2015-03-25T00:08:45.273Z","releaseDate":"2015-03-25T00:08:45.273Z","categories":["5511fc8d0c1a08190077f910","5511fd52c1b13537009f5d31","568ecb0cbeb2700d004717ee","568ecb149ebef90d0087271a","568ecb1cbdb9260d00149d42","56a6a012b3ffe00d00156f1e","56a6bfe37ef6620d00e2f25f","58fbccb5809fc30f00f2dc03","58fbcd136b29580f00d8ff3a","5942ec4d50b8a900373ce9ff","59481476d305c20019295d8c"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-04-22T22:15:53.331Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"[block:api-header]\n{\n  \"title\": \"Architecture\"\n}\n[/block]\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/a3495a3-architecture.PNG\",\n        \"architecture.PNG\",\n        1266,\n        579,\n        \"#4b4849\"\n      ]\n    }\n  ]\n}\n[/block]\nDue to the widespread availability and low pricing of Amazon Web Services, including a 1 year free trial of the service, we recommend setting up the server on a [free-tier](http://aws.amazon.com/free/) EC2 instance: [Tutorial](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html).\n\nFor a production system, it would be advisable to set up the different parts of the server processing in different instances in order to contain to contain possible failures.\n\n---------\n[block:api-header]\n{\n  \"title\": \"Storage\"\n}\n[/block]\nWe have chosen [InfluxDB](https://www.influxdata.com/)  for storage since it is very suitable to handle periodic data points from multiple sources with a high time sensitivity. Additionally, it is very easy to define retention policies, alerts, and to access the database from any other component of the system due to the  availability of an HTTP API for reads and writes.\n\nAfter the instance is set up and we get console access, you can install InfluxDB following the 'Red-Hat & CentOS' instructions [here](https://portal.influxdata.com/downloads).\n\nAfter the installation is done, we can start InfluxDB with the following command:\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"sudo /etc/init.d/influxdb start\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\nThen, we can log in to the InfluxDB console typing\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"influx\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\nAnd create our database with the following command\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"CREATE DATABASE AudioData\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\nThat finishes the storage setup for our server.","excerpt":"","slug":"server-side-storage-and-processing","type":"basic","title":"Server-side Storage and Processing"}

Server-side Storage and Processing


[block:api-header] { "title": "Architecture" } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/a3495a3-architecture.PNG", "architecture.PNG", 1266, 579, "#4b4849" ] } ] } [/block] Due to the widespread availability and low pricing of Amazon Web Services, including a 1 year free trial of the service, we recommend setting up the server on a [free-tier](http://aws.amazon.com/free/) EC2 instance: [Tutorial](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html). For a production system, it would be advisable to set up the different parts of the server processing in different instances in order to contain to contain possible failures. --------- [block:api-header] { "title": "Storage" } [/block] We have chosen [InfluxDB](https://www.influxdata.com/) for storage since it is very suitable to handle periodic data points from multiple sources with a high time sensitivity. Additionally, it is very easy to define retention policies, alerts, and to access the database from any other component of the system due to the availability of an HTTP API for reads and writes. After the instance is set up and we get console access, you can install InfluxDB following the 'Red-Hat & CentOS' instructions [here](https://portal.influxdata.com/downloads). After the installation is done, we can start InfluxDB with the following command: [block:code] { "codes": [ { "code": "sudo /etc/init.d/influxdb start", "language": "shell" } ] } [/block] Then, we can log in to the InfluxDB console typing [block:code] { "codes": [ { "code": "influx", "language": "shell" } ] } [/block] And create our database with the following command [block:code] { "codes": [ { "code": "CREATE DATABASE AudioData", "language": "shell" } ] } [/block] That finishes the storage setup for our server.