{"action":"opened","issue":{"url":"https://api.github.com/repos/job/irrexplorer/issues/28","labels_url":"https://api.github.com/repos/job/irrexplorer/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/job/irrexplorer/issues/28/comments","events_url":"https://api.github.com/repos/job/irrexplorer/issues/28/events","html_url":"https://github.com/job/irrexplorer/issues/28","id":87841200,"number":28,"title":"Investigate the use of database for IRRexplorer","user":{"login":"htj","id":6505,"avatar_url":"https://avatars.githubusercontent.com/u/6505?v=3","gravatar_id":"","url":"https://api.github.com/users/htj","html_url":"https://github.com/htj","followers_url":"https://api.github.com/users/htj/followers","following_url":"https://api.github.com/users/htj/following{/other_user}","gists_url":"https://api.github.com/users/htj/gists{/gist_id}","starred_url":"https://api.github.com/users/htj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/htj/subscriptions","organizations_url":"https://api.github.com/users/htj/orgs","repos_url":"https://api.github.com/users/htj/repos","events_url":"https://api.github.com/users/htj/events{/privacy}","received_events_url":"https://api.github.com/users/htj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"htj","id":6505,"avatar_url":"https://avatars.githubusercontent.com/u/6505?v=3","gravatar_id":"","url":"https://api.github.com/users/htj","html_url":"https://github.com/htj","followers_url":"https://api.github.com/users/htj/followers","following_url":"https://api.github.com/users/htj/following{/other_user}","gists_url":"https://api.github.com/users/htj/gists{/gist_id}","starred_url":"https://api.github.com/users/htj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/htj/subscriptions","organizations_url":"https://api.github.com/users/htj/orgs","repos_url":"https://api.github.com/users/htj/repos","events_url":"https://api.github.com/users/htj/events{/privacy}","received_events_url":"https://api.github.com/users/htj/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-06-12T20:28:23Z","updated_at":"2015-06-12T20:28:23Z","closed_at":null,"body":"Using py-radix requires a lot of manual work, and restricts the data model significantly.\r\n\r\nE.g., it makes it impossible to have start+end time for certain prefix announce and do efficient queries to see what has happened for a certain prefix within a give timeframe. Such functionality can be extremely useful during dissemination of route leaks, spam origin, traffic hijacking etc.\r\n\r\nIt seems that PostgreSQL already supports the basic data type:\r\nhttp://www.postgresql.org/docs/current/interactive/functions-net.html\r\n\r\nAnd since 9.4 can build indexes that support efficient queries of overlaps (super/subnet):\r\nhttp://michael.otacoo.com/postgresql-2/postgres-9-4-feature-highlight-gist-inet-datatype/\r\n\r\nFurther it might be worth partitioning the data on disk per database."}}