How's going on. What are you working these days. Sent from Yahoo Mail on Android On Tue, Feb 14, 2017 at 4:16 PM, William Markito Oliveira<william.mark...@gmail.com> wrote: Definitely not by asking in the middle of on-going discussion threads.
Instructions: http://bfy.tw/A5ub :) Sent from my iPhone > On Feb 14, 2017, at 6:38 PM, Michael Vos <m...@pivotal.io> wrote: > > How do I unsubscribe from this email list? > > Thank you, > > Michael Vos > Strategic Partnerships > 310-804-7223 | m...@pivotal.io > > > > > >> On Feb 14, 2017, at 3:37 PM, Dan Smith <dsm...@pivotal.io> wrote: >> >> I also had a hard time reading this. It sounds like the tl;dr is that your >> are proposing storing each redis collection in a single region entry, rather >> than a a partition region? I guess the question is whether users will have a >> few very large collections that need to be partitioned, or lots and lots of >> really tiny collections. I'm not quite sure what the more common use case is. >> >> -Dan >> >>> On Tue, Feb 14, 2017 at 3:22 PM, Swapnil Bawaskar <sbawas...@pivotal.io> >>> wrote: >>> The Redis adapter was designed so that we can scale all the Redis data >>> structures horizontally. If you bring the data structures to region entry >>> level, there is no reason for anyone to use our implementation over Redis. >>> >>>> On Tue, Feb 14, 2017 at 3:15 PM Jason Huynh <jhu...@pivotal.io> wrote: >>>> Hi Hitesh, >>>> >>>> Not sure about everyone else, but I had a hard time reading this, however >>>> I think I figured out what you were describing... the only part I still am >>>> unsure about is Feedback/vote: both behaviour is desirable. Do you mean >>>> you want feedback and voting on whether both behaviors are desired? As in >>>> old implementation and new implementation? >>>> >>>> 2,3,4) The new implementation would mean all the data for a specific data >>>> structure is contained in a single bucket. So the individual data >>>> structures are not quite scalable. How would you allow scaling of a >>>> single data structure? >>>> >>>> On Tue, Feb 14, 2017 at 3:05 PM Real Wes <thereal...@outlook.com> wrote: >>>> In what format do you want the feedback Hitesh? For now I’ll just comment: >>>> >>>> 1. Redis Type String >>>> No comments except that a future Geode value-add would be to extend the >>>> Jedis client so that the K/V’s are not compressed. In this way OQL and CQ >>>> will work. The tradeoff of this is that the data cannot be read by a >>>> native redis client but for Geode users it’s great. Call the new client >>>> Geodis. >>>> >>>> 2. List/ Hash/ Set/ SortedSet >>>> Creating a separate region for each creates a constraint that the keys are >>>> limited to the characters for region names, which are A-z/0-9/ - and _. >>>> Everything else is out. Redis users might start asking questions why their >>>> list named ++^^/## throws an error. Your suggestion to make it a key >>>> rather than a region solves this. Furthermore, creating a new region every >>>> time a new Redis collection is created is going to be slow. I’m not sure >>>> why a region was created but I’m sure it made sense to the developer at >>>> the time. >>>> >>>> 7. Default Config >>>> Can’t we configure a gfsh option to default to the region types we want? >>>> Customer A will want PARTITION but Customer B will want >>>> PARTITION_REDUNDANT_EXPIRATION_PERSISTENT. I wonder if we can consider a >>>> geode> create region —redisType=PARTITION_REDUNDANT_EXPIRATION_PERSISTENT >>>> that makes _all_ Redis regions of that type? >>>> >>>> >>>> >>>> On Feb 14, 2017, at 5:36 PM, Hitesh Khamesra >>>> <hitesh...@yahoo.com<mailto:hitesh...@yahoo.com>> wrote: >>>> >>>> Current GeodeRedisAdapter implementation is based on >>>> https://cwiki.apache.org/confluence/display/GEODE/Geode+Redis+Adapter+Proposal. >>>> We are looking for some feedback on Redis commands and their mapping to >>>> geode region. >>>> >>>> 1. Redis Type String >>>> a. Usage Set k1 v1 >>>> b. Current implementation creates "STRING_REGION" geode-partition-region >>>>upfront >>>> c. This k1/v1 are geode-region key/value >>>> d. Any feedback? >>>> >>>> 2. List Type >>>> a. usage "rpush mylist A" >>>> b. Current implementation maps each list to geode-partition-region(i.e. >>>>mylist is geode-partition-region); with the ability to get item from >>>>head/tail >>>> c. Feedback/vote >>>> -- List type operation at region-entry level; >>>> -- region-key = "mylist" >>>> -- region-value = Arraylist (will support all redis list ops) >>>> d. Feedback/vote: both behavior is desirable >>>> >>>> >>>> 3. Hashes >>>> a. this represents field-value or java bean object >>>> b. usage "hmset user1000 username antirez birthyear 1977 verified 1" >>>> c. Current implementation maps each hashes to geode-partition-region(i.e. >>>>user1000 is geode-partition-region) >>>> d. Feedback/vote >>>> -- Should we map hashes to region-entry >>>> -- region-key = user1000 >>>> -- region-value = map >>>> -- This will provide java bean sort to behaviour with 10s of field-value >>>> -- Personally I would prefer this.. >>>> e. Feedback/vote: both behaviour is desirable >>>> >>>> 4. Sets >>>> a. This represents unique keys in set >>>> b. usage "sadd myset 1 2 3" >>>> c. Current implementation maps each sadd to geode-partition-region(i.e. >>>>myset is geode-partition-region) >>>> d. Feedback/vote >>>> -- Should we map set to region-entry >>>> -- region-key = myset >>>> -- region-value = Hashset >>>> e. Feedback/vote: both behaviour is desirable >>>> >>>> 5. SortedSets >>>> a. This represents unique keys in set with score (usecase Query top-10) >>>> b. usage "zadd hackers 1940 "Alan Kay"" >>>> c. Current implementation maps each zadd to geode-partition-region(i.e. >>>>hackers is geode-partition-region) >>>> d. Feedback/vote >>>> -- Should we map set to region-entry >>>> -- region-key = hackers >>>> -- region-value = Sorted Hashset >>>> e. Feedback/vote: both behaviour is desirable >>>> >>>> 6. HyperLogLogs >>>> a. A HyperLogLog is a probabilistic data structure used in order to count >>>>unique things (technically this is referred to estimating the cardinality >>>>of a set). >>>> b. usage "pfadd hll a b c d" >>>> c. Current implementation creates "HLL_REGION" geode-partition-region >>>>upfront >>>> d. hll becomes region-key and value is HLL object >>>> e. any feedback? >>>> >>>> 7. Default config for geode-region (vote) >>>> a. partition region >>>> b. 1 redundant copy >>>> c. Persistence >>>> d. Eviction >>>> e. Expiration >>>> f. ? >>>> >>>> 8. It seems; redis knows type(list, hashes, string ,set ..) of each key. >>>> Thus for each operation we need to make sure type of key. In current >>>> implementation we have different region for each redis type. Thus we have >>>> another region(metaTypeRegion) which keeps type for each key. This makes >>>> any operation in geode slow as it needs to verify that type. For instance, >>>> creating new key need to make sure its already there or not. Whether we >>>> should allow type change or not. >>>> a. Feedback/vote >>>> -- type change of key >>>> -- Can we allow two key with same name but two differnt type (as it >>>>will endup in two different geode-region) >>>> String type "key1" in string region >>>> HLL type "key1" in HLL region >>>> b. any other feedback >>>> >>>> 9. Transactions: >>>> a. we will not support transaction in redisAdapter as geode transaction >>>>are limited to single node. >>>> b. feedback? >>>> >>>> 10. Redis COMMAND (https://redis.io/commands/command) >>>> a. should we implement this "COMMAND" ? >>>> >>>> 11. Any other redis command we should consider? >>>> >>>> >>>> Thanks. >>>> Hitesh >>>> >>>> >> >