- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
dirty_boostrap_test() ->
SourceTab = ets:new(source, [public, named_table]),
ReplicaTab = ets:new(replica, [public, named_table]),
%% Insert some initial data:
ets:insert(source, {1, 1}),
ets:insert(source, {2, 2}),
ets:insert(source, {3, 3}),
try
register(testcase, self()),
Replica = spawn_link(fun replica/0),
register(replica, Replica),
%% "importer" process emulates mnesia_tm:
spawn_link(fun importer/0),
%% "bootstrapper" process emulates bootstrapper server:
spawn_link(fun bootstrapper/0),
receive
done ->
SrcData = lists:sort(ets:tab2list(source)),
RcvData = lists:sort(ets:tab2list(replica)),
?assertEqual(SrcData, RcvData)
end
after
ets:delete(SourceTab),
ets:delete(ReplicaTab)
end.
importer() ->
Ops = [ {write, 3, 3}
, {write, 4, 4}
, {write, 4, 5}
, {delete, 2}
],
lists:map(fun(OP) ->
import_op(source, OP),
%% Imitate mnesia event (note: here we send it
%% directly to the replica process bypassing
%% the agent):
replica ! {tlog, OP}
end,
Ops),
replica ! last_trans.
replica() ->
receive
{bootstrap, K, V} ->
ets:insert(replica, {K, V}),
replica();
bootstrap_done ->
replay()
end.
replay() ->
receive
{tlog, Op} ->
import_op(replica, Op),
replay();
last_trans ->
testcase ! done
end.
import_op(Tab, {write, K, V}) ->
ets:insert(Tab, {K, V});
import_op(Tab, {delete, K}) ->
ets:delete(Tab, K).
bootstrapper() ->
{Keys, _} = lists:unzip(ets:tab2list(source)),
[replica ! {bootstrap, K, V} || K <- Keys, {_, V} <- ets:lookup(source, K)],
replica ! bootstrap_done.
Разве в этих ваших отказоустойчивых СУБД не должно быть стрим репликации из коробки?
Но когда мы проиграем журнал транзакций на грязном снимке, то всё будет ок.
А concuerror перебирает все варианты шедулинга процессов?
Да, все некоммутирующие.
Я помню, что в том же постгресе можно попросить сервер сделать чекпоинт, тогда он сделает отсечку лога транзакций и мне можно будет забить на wal до этой точки. И вот пока не получается понять, что именно происходит в момент чекпоинта.
Просто флашатся все странички, которые были грязными до начала чекпоинта?
Это работает онлайн с небольшими издержками, но жрёт память пока чекпоинт активен.
Переодически случается CHECKPOINT (или явно, или через checkpoint_timeout)
В момент CHECKPOINT всё флашится, а в WAL ставится REDO POINT (с которой будет проигрываться лог в случае дизастера)
Этим занимается процесс checkpointer.
Вроде так
tombstone это остатки после удаления записи? Хотя раз это undo лог, то походу наоборот, создания.
но там и процессор общего назначения есть, плата с плисиой там тупо в PCI всунута, так что это немного не то.
Так что если какую-то операцию в духе поиска в хешмапе получилось ускорить, то вай нот? А остальное на проце поработает.
лол, тогда уже nvme уже
и всё сразу в ASIC
В более дорогих моделях будет EEPROM, или который под лампой стирался
В более дешевых одноарзовый, где прогромматор перемычки пережигал
И тут мы приходим к проблеме современных техпроцессов, в которых нельзя выразить нормальное ПЗУ. Кроме одноразового с пережиганием вроде.
У FPGA'шек тоже с этим проблема -- надо внешнее ПЗУ или внешний контроллер.
NOR только под какие-то редкие кейсы, где не надо много памяти но хочется стирать произвольные байты. Он слишком жирный.
Хер знает, может и правда NOR...
Но на самом деле скорость у SPI интерфейса никакая, так что я не вижу смысла туда лепить супер-охуенную память.
Я не знаю, работает ли это на самом деле.
Грязный бусь-траповый тест. Это на анимешника тест какой-то?
бдсм какой-то
https://id-press-a.ru/#service (18 06)
ааааааааа
18.06.2021
18.06.2021
Бедняги )))
гребаные шовинисты
еще раз напомню, что в рашке «инженер» - мученая степень типа боколавра
Вот Ротойоб никаких ВУЗов не заканчивал, и это не мешает ему быть гениальным программистом
Хотя может и заканчивал.. Я не знаю точно
что может быть луччее
-инженера-конструктора, заработная плата от 40 000 рублей
ого