Size: a a a

F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)

2020 August 11

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Просто да, джойнов в ней не сделать.
источник

ak

alIxkononov kononov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
зачем кассандра если джойны нужны
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
alIxkononov kononov
зачем кассандра если джойны нужны
у нас кассандра стандарт. майсикуэль не суппортится
источник

M

Mikhail in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
alIxkononov kononov
зачем кассандра если джойны нужны
Иногда потребность в джойнах обусловлена мышлением людей а не реальной острой потребностью
источник

ak

alIxkononov kononov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Mikhail
Иногда потребность в джойнах обусловлена мышлением людей а не реальной острой потребностью
ну в кассандре просто избыточно данные хранят вместо джойнов
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
ну вот щас стоит вопрос как по такой простой таблице
CREATE TABLE smartpricing.item_prices (
   item_id bigint,
   price_offer_id text,
   end_date timestamp,
   start_date timestamp,
   offer_id text,
   price decimal,
   promo_id uuid,
   PRIMARY KEY (item_id, price_offer_id, end_date, start_date)
) WITH CLUSTERING ORDER BY (price_offer_id ASC, end_date ASC, start_date ASC)
   AND bloom_filter_fp_chance = 0.01
   AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
   AND comment = ''
   AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
   AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
   AND crc_check_chance = 1.0
   AND dclocal_read_repair_chance = 0.1
   AND default_time_to_live = 0
   AND gc_grace_seconds = 864000
   AND max_index_interval = 2048
   AND memtable_flush_period_in_ms = 0
   AND min_index_interval = 128
   AND read_repair_chance = 0.0
   AND speculative_retry = '99PERCENTILE';
CREATE INDEX item_prices_end_date ON smartpricing.item_prices (end_date);
CREATE INDEX item_prices_start_date ON smartpricing.item_prices (start_date);
CREATE INDEX idx_promo_id ON smartpricing.item_prices (promo_id);


сделать запрос вида - ДАЙ МНЕ ВСЕ АКТИВНЫЕ ПРОМОУШЕНЫ, где понятие активный - это start_date уже прошёл,  end_date ещё не прошёл.
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
я как бы даю людям ответы, но они им не нравятся
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
alIxkononov kononov
ну в кассандре просто избыточно данные хранят вместо джойнов
так точно.
источник

M

Mikhail in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
alIxkononov kononov
ну в кассандре просто избыточно данные хранят вместо джойнов
Ну да
источник

M

Mikhail in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Я понимаю
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
если кому интересен ответ, как же сделать такой запрос и не убить ваш хипстерский ноускл -
надо или сделать доп таблицу, где star_date и end_date будут В НАЧАЛЕ праймари ключа
или добавить колонку, по которой можно искать через операцию =, а не > или < (потому что секондари индексы поддерживают только =)
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
например колонка isActive = true/false, которая будет кем-то внешне обновляться.
Кидаем на эту колонку индекс, далее ищем where isActive = true
Это будет работать.
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
но это подразумевает что кто-то должен обновлять колонку! (пилим новый микросервис)
источник

ak

alIxkononov kononov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Ayrat Hudaygulov
но это подразумевает что кто-то должен обновлять колонку! (пилим новый микросервис)
по микрику на колонку?)
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
alIxkononov kononov
по микрику на колонку?)
ну ты понял мысль.

Просто бизнес спрашивает - У НАС ТУТ БЫЛ ЗАПРОС В UI, НАДО СДЕЛАТЬ ТАК ЖЕ
А я отвечаю - ДАВАЙТЕ СДЕЛАЕМ МИКРОСЕРВИС

Самому смешно, но как-то так
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
просто это вот плата за ноускл и распределенность
источник

ak

alIxkononov kononov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Ayrat Hudaygulov
ну ты понял мысль.

Просто бизнес спрашивает - У НАС ТУТ БЫЛ ЗАПРОС В UI, НАДО СДЕЛАТЬ ТАК ЖЕ
А я отвечаю - ДАВАЙТЕ СДЕЛАЕМ МИКРОСЕРВИС

Самому смешно, но как-то так
)
источник

VS

Vasily Shapenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Лол
источник

ak

alIxkononov kononov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
@omgszer а сциллу как замену кассандре не смотрели?
источник

ak

alIxkononov kononov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
типа быстрее дохера
источник