diff --git a/absl-flat_hash_map.cc b/absl-flat_hash_map.cc
new file mode 100644
index 0000000000..fd7944b6e4
--- /dev/null
+++ b/absl-flat_hash_map.cc
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2020 ScyllaDB
+ */
+
+/*
+ * This file is part of Scylla.
+ *
+ * Scylla is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Scylla is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Scylla. If not, see .
+ */
+
+#include "absl-flat_hash_map.hh"
+
+size_t sstring_hash::operator()(std::string_view v) const noexcept {
+ return absl::Hash{}(v);
+}
diff --git a/absl-flat_hash_map.hh b/absl-flat_hash_map.hh
new file mode 100644
index 0000000000..82a0aeb6bc
--- /dev/null
+++ b/absl-flat_hash_map.hh
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2020 ScyllaDB
+ */
+
+/*
+ * This file is part of Scylla.
+ *
+ * Scylla is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Scylla is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Scylla. If not, see .
+ */
+
+#pragma once
+
+#include
+#include
+
+using namespace seastar;
+
+struct sstring_hash {
+ using is_transparent = void;
+ size_t operator()(std::string_view v) const noexcept;
+};
+
+struct sstring_eq {
+ using is_transparent = void;
+ bool operator()(std::string_view a, std::string_view b) const noexcept {
+ return a == b;
+ }
+};
+
+template
+struct flat_hash_map : public absl::flat_hash_map {
+};
+
+template
+struct flat_hash_map
+ : public absl::flat_hash_map {};
diff --git a/configure.py b/configure.py
index afb585e2ff..5eebfb53bc 100755
--- a/configure.py
+++ b/configure.py
@@ -492,6 +492,7 @@ extra_cxxflags = {}
cassandra_interface = Thrift(source='interface/cassandra.thrift', service='Cassandra')
scylla_core = (['database.cc',
+ 'absl-flat_hash_map.cc',
'table.cc',
'atomic_cell.cc',
'collection_mutation.cc',