Database design 使用Parse作为BAA高效地存储多个图像

Database design 使用Parse作为BAA高效地存储多个图像,database-design,parse-platform,Database Design,Parse Platform,我正在使用parse为IOS和Android制作一个电子商务应用程序。 我有一个产品表(或类),其中包含所有与产品相关的信息,如价格、说明等。我正在努力寻找存储图像的最有效方法 每个产品都有大约10-15个图像,我希望在客户端有一个良好的用户界面来下载图像。以下是我能想到的方法 在Product表中创建15列,类型为存储图像 在Product表中创建一个数组并存储多个映像(不知道是否可能) 使用Product Table的对象引用将所有图像保存在新表中 在某些外部服务器上保存图像,并在产品表中生

我正在使用parse为IOS和Android制作一个电子商务应用程序。 我有一个产品表(或类),其中包含所有与产品相关的信息,如价格、说明等。我正在努力寻找存储图像的最有效方法 每个产品都有大约10-15个图像,我希望在客户端有一个良好的用户界面来下载图像。以下是我能想到的方法

  • 在Product表中创建15列,类型为存储图像
  • 在Product表中创建一个数组并存储多个映像(不知道是否可能)
  • 使用Product Table的对象引用将所有图像保存在新表中
  • 在某些外部服务器上保存图像,并在产品表中生成图像URL数组
  • 就速度和最少API调用而言,什么是最好的解决方案。 请给我一些建议。还有人知道可以在我的情况下工作的图像托管服务器吗


    谢谢

    让我介绍一下你的每种方法,并强调每种方法的优缺点


    • 在Product table中创建15列,类型为存储图像。
    • 如果你有3-4张图片,这当然是可能的,而且显然是好的。但在本例中,您有15个,我认为在表行中添加那么多列来完成此操作不是一个好主意。这绝对不是Parse.com应该使用的方式。:)
    • 另一方面,您可以在1个网络请求中获得与特定产品相关的图像的所有文件引用
    • 如果使用Android SDK支持的传统
      byte[]
      方法,可能会遇到问题,因为如果处理不当,数据可能会占用内存
    • 列命名(例如,如果要使用
      image1、image2、image3…
      )可能会在需要取回数据时导致进一步的工作
    • 如果图像数不完全是15,则会导致进一步的编码工作,以便在特定列包含有效图像时进行交叉检查

    • 在产品表中创建一个数组并存储多个图像(不知道是否可能)
    • 使用数组绝对可以做到这一点。为此,使用普通的文件上传方法,在Android上使用
      parseFile.getUrl()
      ,在iOS上使用
      PFFile.url
      获取文件url。然后将其添加到您拥有的图像数组列中。您也可以使用JSONArray来做同样的事情
    • 这绝对不是一个好主意,因为您没有机会使用云代码或计划作业进一步扩展或操作文件

    • 使用产品表的对象引用将所有图像保存在新表中。
    • 这正是应该采取的方式
    • 此实现的唯一问题是,当您通过一个网络请求查询产品时,无法获得对图像的引用
    • 但您始终可以为此使用关系数据实现

    • 在某些外部服务器上保存图像,并在产品表中创建图像URL数组
    • 如果你有设备,你也可以这样做。Parse的图像处理能力不是很好。如果经济的话,你可以使用其他服务

    使用任何第三方CDN作为位图后端

    上面的接口是String类型(CDN上的uri)

    在parse中,将上面的15个uri包装在一个数组中,并将其存储为列数据类型

    将指向上述行的解析指针与要查询的物理解析表中的数组一起存储


    这样,您就可以在任何需要提供对arrayRef和15个uri值的访问的查询中使用解析表达式“include=$pointerName”

    您能推荐任何具有良好图像处理能力和快速响应率的服务吗。我在这方面的专业知识有限。你能推荐一个响应速度快的好CDN吗?我在旧金山访问了rackspace、AWS、parse.com。我已经在使用parse来托管我的表了。如何上传图像以解析并获取其UUID。我的意思是,有没有一种手动的方法可以在文档4的文件部分查看如何上传位图进行解析。Uuid是上传帖子的json响应。最好是使用curl2测试上传的restapi。