Title: Optimize Redis memory foot print for ingestion / serving · Issue #515 · feast-dev/feast · GitHub
Open Graph Title: Optimize Redis memory foot print for ingestion / serving · Issue #515 · feast-dev/feast
X Title: Optimize Redis memory foot print for ingestion / serving · Issue #515 · feast-dev/feast
Description: Is your feature request related to a problem? Please describe. As of now, the Redis Value size is directly proportional to the length of the feature name strings. This becomes more significant when there are several features. As a result...
Open Graph Description: Is your feature request related to a problem? Please describe. As of now, the Redis Value size is directly proportional to the length of the feature name strings. This becomes more significant when...
X Description: Is your feature request related to a problem? Please describe. As of now, the Redis Value size is directly proportional to the length of the feature name strings. This becomes more significant when...
Opengraph URL: https://github.com/feast-dev/feast/issues/515
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Optimize Redis memory foot print for ingestion / serving","articleBody":"**Is your feature request related to a problem? Please describe.**\r\nAs of now, the Redis Value size is directly proportional to the length of the feature name strings. This becomes more significant when there are several features. As a result the memory foot print can be significantly higher than the equivalent data stored in CSV / parquet / avro.\r\n\r\n**Describe the solution you'd like**\r\nInstead of writing the byte representation of Feature Row, which has a list of Fields, it might be suffice if we simply store the list of Values instead. Feast Online Serving is already aware of the FeatureSetSpec, and hence the field names. This information can be used to reconstruct the Feature Row from the list of Values. Without storing the feature names, the Redis value size can be drastically reduced.\r\n\r\n**Describe alternatives you've considered**\r\nAnother alternative would be, instead of storing the feature names in the Redis, we can store the hash code of the feature name instead. Again, the corresponding Feature Row can be reconstructed on the Feast online serving side.\r\n\r\nLast alternative would be to apply some compression algorithm (eg Gzip/Bzip) on the byte array representation of Feature Row, though it is unlikely to surpass the above alternatives in terms of efficiency. There will also be impact in terms of latency due to additional processing required during retrieval.\r\n\r\n**Additional context**\r\nAny approach to resolve this issue will likely resulted in backward incompatible changes: the existing Redis value will not longer be interpretable once the way we stored Redis value changes. Therefore, we might have to include a Store level configuration, to toggle this feature on only when the user is ready to migrate.\r\n","author":{"url":"https://github.com/khorshuheng","@type":"Person","name":"khorshuheng"},"datePublished":"2020-03-06T02:53:33.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":15},"url":"https://github.com/515/feast/issues/515"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:ba77f779-4ba4-b758-ca78-a5191b2c46d4 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 81F8:53934:385F62C:4D74963:6979DC24 |
| html-safe-nonce | 0176f9faaa9b2e58fef269d8566075cf8bf4f768bbd1660a78c1ce78c056833e |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MUY4OjUzOTM0OjM4NUY2MkM6NEQ3NDk2Mzo2OTc5REMyNCIsInZpc2l0b3JfaWQiOiIxODY0MTcyMTMyMTU4MjY2NDA0IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 380bd0e7ab45932dde2d1d14ff05af7ea11733cda2083cc3aa71791d80fc67cf |
| hovercard-subject-tag | issue:576662419 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/feast-dev/feast/515/issue_layout |
| twitter:image | https://opengraph.githubassets.com/11824a1973e37eaa9dbc15da7d3bf4b97516ea12594bab5cfada2321853f8cba/feast-dev/feast/issues/515 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/11824a1973e37eaa9dbc15da7d3bf4b97516ea12594bab5cfada2321853f8cba/feast-dev/feast/issues/515 |
| og:image:alt | Is your feature request related to a problem? Please describe. As of now, the Redis Value size is directly proportional to the length of the feature name strings. This becomes more significant when... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | khorshuheng |
| hostname | github.com |
| expected-hostname | github.com |
| None | 2b107eb9d90c9cac30a73eb8cbff9f061e7aa8abfc974388da184e33e9167b4a |
| turbo-cache-control | no-preview |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | f6fa9e90ef424d47fefcf2b081f57fd855fc2959 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width