iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
自我挑戰組

淺入淺出分散式儲存系列 第 18

Day18 Lab 2 - Object storage metadata

  • 分享至 

  • twitterImage
  •  

Object的metadata讓我們能快速定位Object在什麼地方、屬性等等,可以理解為類似資料庫的index,在我們的Lab,我們的metaddata會存放Object的

  • hash - object的資料經過sha256的hash
  • size - object的大小
  • time - object上傳的時間
  • location - object被存在哪個data server裡
  • version - object的version,讓同個名字的object可以有多種內容

詳情可以看method addMetadata

https://github.com/kaichiachen/python-simple-object-storage/blob/master/utils/utils.py#L94

@classmethod
def addMetadata(cls, name, version, h, size, locate):
   data = {
         'hash': h,
         'time': str(datetime.datetime.now()),
         'size': size,
         'locate': locate
   }
   cls.r.hset(name, version, json.dumps(data))

我們把object的name和version作為key,因為user一般都是使用這兩個找object,value就是剩餘的metadata

我們的metadata存在Redis,連上Redis非常簡單,如下所示

https://github.com/kaichiachen/python-simple-object-storage/blob/master/utils/utils.py#L77

r = redis.Redis(host=REDIS_SERVER, port=REDIS_PORT)

上一篇
Day17 Middleware - Kafka & Redis
下一篇
Day19 Lab 2 - Object storage 數據校驗和去重
系列文
淺入淺出分散式儲存30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言