https://takuti.me/ja/note/designing-data-intensive-applications/